home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / CED / cedmanual.guide (.txt) < prev    next >
Amigaguide Document  |  1995-08-24  |  142KB  |  2,321 lines

  1. @database CedManual.guide
  2. link to DosARexx
  3. @Node Main "CedManual.guide"
  4.                           CygnusEd Online Manual
  5.     Welcome   to   the   CygnusEd  Professional  online  documentation.
  6. CygnusEd  Professional  is  a powerful and fast text editor, designed to be
  7. easy  to  learn  just by looking through the menus.  However, even the best
  8. designed  program  has  some hidden or non-obvious features, and CygnusEd's
  9. menus are large enough that it's easy to miss some important features.
  10.     This  documentation  is  setup  so that it can easily be used as an
  11. introduction  to  CygnusEd,  or  as a reference.  All of the buttons in the
  12. block  below  contain  important information about how CygnusEd works, what
  13. the  important  features are, and what the philosophy behind these features
  14. is.   When  learning CygnusEd it is recommended that you at least glance at
  15. all  of these sections, to see what CygnusEd has to offer, and then read in
  16. detail those that interest you.
  17.     CygnusEd  is  published by Cygnus Software, and is offered to Amiga
  18. Computing readers by special Arrangement with Amiga Computing.
  19.  @{" Metamac               - the macro editor " Link "Metamac"}
  20.  @{" Ed                    - the CygnusEd invoker " Link "Ed"}
  21.  @{" RecoverCedFiles       - recovering data after a crash " Link "RecoverCedFiles"}
  22.  @{" Views overview        - multiple files, multiple views " Link "ViewsOverview"}
  23.  @{" Macro Definitions     - automate repetitive tasks easily with macros " Link "MacroDefinitions"}
  24.  @{" Command line options  - public screens, etc. " Link "CommandLine"}
  25.  @{" ARexx commands        - expand CygnusEd through ARexx " Link "ARexx"}
  26.     The  menu  buttons  are  best  used  as a reference when you have a
  27. question  on  how  a  specific  menu  item  works.   All of CygnusEd's menu
  28. commands are documented here.
  29.  @{" Project menu " Link "Project"}
  30.  @{" Environment menu " Link "Environment"}
  31.  @{" Special menu " Link "Special"}
  32.  @{" Cut/Paste menu " Link "CutPaste"}
  33.  @{" Search/Replace menu " Link "SearchReplace"}
  34.  @{" Move menu " Link "Move"}
  35. @EndNode
  36. @Node Project "Project menu"
  37.                                Project menu
  38.     The  commands  in  this menu are, as you would expect, mostly to do
  39. with files, projects, printing and other similar operations.
  40.  @{" About... " Link "About"}
  41.  @{" Clear " Link "Clear"}
  42.  @{" Open new - Keyboard shortcut Amiga-? " Link "OpenNew"}
  43.  @{" Open... - Keyboard shortcut Amiga-o " Link "Open"}
  44.  @{" Include file... - Keyboard shortcut Amiga-O " Link "IncludeFile"}
  45.  @{" Save clip as... - Keyboard shortcut Amiga-n " Link "SaveClipAs"}
  46.  @{" Save - Keyboard shortcut Amiga-w " Link "Save"}
  47.  @{" Save as... - Keyboard shortcut Amiga-W " Link "SaveAs"}
  48.  @{" Save all changes " Link "SaveAllChanges"}
  49.  @{" Change current directory... " Link "ChangeCurrentDir"}
  50.  @{" Spawn new CED      Ctrl+Esc " Link "SpawnNewCed"}
  51.  @{" Activate next CED    Ctrl+n " Link "ActivateNextCed"}
  52.  @{" Print clip... - Keyboard shortcut Amiga-p " Link "PrintClip"}
  53.  @{" Print file... - Keyboard shortcut Amiga-P " Link "PrintFile"}
  54.  @{" Quit - Keyboard shortcut Amiga-q " Link "Quit"}
  55.  @{" Save & quit - Keyboard shortcut Amiga-Q " Link "SaveAndQuit"}
  56.  @{" Quit & die " Link "QuitAndDie"}
  57. @EndNode
  58. @Node Environment "Environment menu"
  59.                              Environment menu
  60.     The  Environment  menu  is a uniquely CygnusEd three part menu that
  61. contains all of the settings for how CygnusEd operates.
  62.  @{" Global Settings " Link "GlobalSettings"}
  63.  @{" File Settings " Link "FileSettings"}
  64.  @{" View Settings " Link "ViewSettings"}
  65. @EndNode
  66. @Node GlobalSettings "Global Settings"
  67.                               Global Settings
  68.     The  'Global Settings' menu is the first part of the peculiar three
  69. part  'Environment' menu.  The 'Global Settings' menu contains all of those
  70. settings  which  affect  all  of  the  files  and  views in CygnusEd.  This
  71. includes  such  things as screen resolution, macro definitions, fonts, etc.
  72. These  settings  are  stored  in  your ceddefaults file if you select 'Save
  73. Environment',  at the bottom of this menu.  When you first run CygnusEd the
  74. 'ceddefaults'  file  is  loaded  in  with  global,  file and view settings.
  75. Whenever  a new file is loaded in, new extension specific settings from the
  76. 'File  Settings' menu will be loaded in if a ceddefaults file with the same
  77. extension  (for  example,  ceddefaults.c,  or  ceddefaults.txt)  is  found.
  78. However the global defaults are only loaded once, or if you explicitly load
  79. them.   Therefore  it  is  important that when you change any of the global
  80. settings  that  you  save  those  settings  in  the  ceddefaults  file  (no
  81. extension) using the 'Save Environment' command.
  82.  @{" Open on public screen... " Link "OpenOnPublic"}
  83.  @{" Set screen type and size... " Link "SetScreen"}
  84.  @{" Duplicate Workbench size " Link "DuplicateWB"}
  85.  @{" Macro definitions " Link "MacroDefinitions"}
  86.  @{" Begin short invocation macro - Keyboard shortcut Amiga-m " Link "BeginShortMacro"}
  87.  @{" Begin long invocation macro - Keyboard shortcut Amiga-M " Link "BeginLongMacro"}
  88.  @{" Define startup macro " Link "DefineStartupMacro"}
  89.  @{" Quote key " Link "QuoteKey"}
  90.  @{" Clear definitions " Link "ClearDefinitions"}
  91.  @{" Load definitions... - Keyboard shortcut Amiga-; " Link "LoadDefinitions"}
  92.  @{" Save definitions... - Keyboard shortcut Amiga-' " Link "SaveDefinitions"}
  93.  @{" Priority " Link "Priority"}
  94.  @{" Autosave " Link "AutoSave"}
  95.  @{" Set icon tool name... " Link "SetIconToolName"}
  96.  @{" Colours " Link "Colours"}
  97.  @{" File save method " Link "FileSaveMethod"}
  98.  @{" Icon creation? " Link "IconCreation"}
  99.  @{" Hot-Start enabled? " Link "HotStart"}
  100.  @{" Auto-expand views? - Keyboard shortcut Amiga-[ " Link "AutoExpand"}
  101.  @{" Keypad = movement? - Keyboard shortcut Amiga-8 " Link "KeypadMovement"}
  102.  @{" Select font " Link "SelectFont"}
  103.  @{" Rendering choices " Link "RenderingChoices"}
  104.  @{" Load environment " Link "LoadEnvironment"}
  105.  @{" Save environment... - Keyboard shortcut Amiga-E " Link "SaveEnvironment"}
  106. @EndNode
  107. @Node FileSettings "File Settings"
  108.                                File Settings
  109.     The 'File Settings' menu contains settings that are kept separately
  110. for  each  file loaded into CygnusEd.  These settings are stored on disk in
  111. separate  ceddefault  files  with  each  default  file  having  a different
  112. extension.   If  you  load a file with a '.c' extension then CygnusEd looks
  113. for a file called 'ceddefaults.c', in the current directory and then in S:.
  114. If it finds such a file then it automatically loads in all of your file and
  115. view settings from that settings file and applies them to the current view.
  116. This  allows  you to easily have different tab sizes and other settings for
  117. text files versus C source files.
  118.  @{" Tab size " Link "TabSize"}
  119.  @{" Customize tabs... - Keyboard shortcut Amiga-t " Link "CustomizeTabs"}
  120.  @{" Set right border... - Keyboard shortcut Amiga-^ " Link "SetRightBorder"}
  121.  @{" Set scroll jump " Link "SetScrollJump"}
  122.  @{" Max scroll   xx... " Link "MaxScroll"}
  123.  @{" Layout? - Keyboard shortcut Amiga-5 " Link "Layout"}
  124.  @{" Word wrap? - Keyboard shortcut Amiga-6 " Link "WordWrap"}
  125.  @{" Insert mode? - Keyboard shortcut Amiga-7 " Link "InsertNode"}
  126.  @{" Tabs = spaces? - Keyboard shortcut Amiga-0 " Link "TabsSpaces"}
  127.  @{" Editable file? " Link "EditableFile"}
  128. @EndNode
  129. @Node ViewSettings "View Settings"
  130.                                View Settings
  131.     CygnusEd  allows you to have multiple cooperating views on a single
  132. file.   All  of these views are windows into the same data.  Changes in one
  133. view are reflected in the others.  In fact, if several views are displaying
  134. the same area of a particular file, you can see changes happening in all of
  135. the  views simultaneously.  The settings in this menu are stored separately
  136. for different views of a particular file.  This is occasionally useful.
  137.  @{" Status line " Link "StatusLine"}
  138.  @{" White spaces " Link "WhiteSpaces"}
  139.  @{" Scroll bar " Link "ScrollBar"}
  140.  @{" Set scroll borders... " Link "SetScrollBorders"}
  141.  @{" Views overview " Link "ViewsOverview"}
  142. @EndNode
  143. @Node Special "Special menu"
  144.                                Special menu
  145.     The  Special  menu  is,  as  the  name  suggests,  a  grab  bag  of
  146. miscellaneous  functions  that  don't  fit  into  any  of  the  other  neat
  147. categories.
  148.  @{" View operations " Link "ViewOperations"}
  149.  @{" Previous view - Keyboard shortcut Amiga-, " Link "PreviousView"}
  150.  @{" Next view - Keyboard shortcut Amiga-. " Link "NextView"}
  151.  @{" Split view - Keyboard shortcut Amiga-d " Link "SplitView"}
  152.  @{" Expand view - Keyboard shortcut Amiga-] " Link "ExpandView"}
  153.  @{" Grow view " Link "GrowView"}
  154.  @{" Shrink view " Link "ShrinkView"}
  155.  @{" Format " Link "Format"}
  156.  @{" Post period spaces... " Link "PostPeriodSpaces"}
  157.  @{" DOS/ARexx interface " Link "DosARexx"}
  158.  @{" Send DOS/ARexx command... " Link "SendDosArexx"}
  159.  @{" Install DOS/ARexx command... " Link "InstallDosArexx"}
  160.  @{" Load DOS/ARexx commands... " Link "LoadDosARexx"}
  161.  @{" Save DOS/ARexx commands... " Link "SaveDosARexx"}
  162.  @{" Send DOS/ARexx output to... " Link "SendDosARexx"}
  163.  @{" Enter ASCII... - Keyboard shortcut Amiga-- " Link "EnterASCII"}
  164.  @{" Center cursor - Keyboard shortcut Amiga-= " Link "CenterCursor"}
  165.  @{" Center line - Keyboard shortcut Amiga-\ " Link "CenterLine"}
  166.  @{" Repeat key/menu... - Keyboard shortcut Amiga-\ " Link "RepeatKeyMenu"}
  167.  @{"  " Link "
  168.  @{" Find matching bracket - Keyboard shortcut Amiga-h " Link "FindMatching"}
  169.  @{" Mark/Jump Location " Link "MarkJumpLocation"}
  170. @EndNode
  171. @Node CutPaste "Cut/Paste menu"
  172.                               Cut/Paste menu
  173.     The  Cut/Paste  menu  is  primarily  concerned with various ways of
  174. cutting  out  part  of  file and, optionally, pasting it in somewhere else.
  175. CygnusEd  has  the  fairly  unique feature of having many different cut and
  176. paste  buffers.   The  standard  cut/copy/paste commands can use any of the
  177. Amiga  clipboards  255  different units, and the word and line specific cut
  178. and paste commands each have their own clip buffers also.
  179.  @{" Mark - Keyboard shortcut Amiga-b " Link "Mark"}
  180.  @{" Mark columnar - Keyboard shortcut Amiga-B " Link "MarkColumnar"}
  181.  @{" Cut - Keyboard shortcut Amiga-x " Link "Cut"}
  182.  @{" Copy - Keyboard shortcut Amiga-c " Link "Copy"}
  183.  @{" Paste - Keyboard shortcut Amiga-v " Link "Paste"}
  184.  @{" Set clipboard unit... " Link "SetClipboardUnit"}
  185.  @{" Rot marked " Link "RotMarked"}
  186.  @{" Strip CR marked " Link "StripCRMarked"}
  187.  @{" Change case marked " Link "ChangeCaseMarked"}
  188.  @{" Delete word            Ctrl+Del " Link "DeleteWord"}
  189.  @{" Undelete word      Ctrl+Alt+Del " Link "UndeleteWord"}
  190.  @{" Bck Spc word        Ctrl+BckSpc " Link "BackspaceWord"}
  191.  @{" UnBck Spc word  Ctrl+Alt+BckSpc " Link "UnbackspaceWord"}
  192.  @{" Delete line - Keyboard shortcut Amiga-k " Link "DeleteLine"}
  193.  @{" Delete to EOL - Keyboard shortcut Amiga-y " Link "DeleteToEOL"}
  194.  @{" Undelete line - Keyboard shortcut Amiga-l " Link "UndeleteLine"}
  195. @EndNode
  196. @Node SearchReplace "Search/Replace menu"
  197.                             Search/Replace menu
  198.     The  Search/Replace  menu primarily contains commands to invoke and
  199. control  CygnusEd's  high-speed  searching and replacing.  In addition this
  200. menu  contains  commands  for  changing  the case of words and letters, and
  201. controlling CygnusEd's undo ability.
  202.  @{" Repeat search backwards - Keyboard shortcut Amiga-a " Link "RepeatSearchBackwards"}
  203.  @{" Repeat search forwards - Keyboard shortcut Amiga-s " Link "RepeatSearchForwards"}
  204.  @{" Search for... - Keyboard shortcut Amiga-S " Link "SearchFor"}
  205.  @{" Repeat replace - Keyboard shortcut Amiga-r " Link "RepeatReplace"}
  206.  @{" Replace... - Keyboard shortcut Amiga-R " Link "Replace"}
  207.  @{" Clip to search buffer " Link "ClipToSearchBuffer"}
  208.  @{" Set ASCII zero alias for search... " Link "SetASCIIzeroAlias"}
  209.  @{" Change case letter - Keyboard shortcut Amiga-g " Link "ChangeCaseLetter"}
  210.  @{" Change case word - Keyboard shortcut Amiga-G " Link "ChangeCaseWord"}
  211.  @{" Upper case word " Link "UpperCaseWord"}
  212.  @{" Lower case word " Link "LowerCaseWord"}
  213.  @{" Undo " Link "Undo"}
  214. @EndNode
  215. @Node Move "Move menu"
  216.                                  Move menu
  217.     CygnusEd's  move menu contains all of the cursor movement commands.
  218. Most  of the menu items, the bottom fifteen, are there purely as a place to
  219. put  the  keyboard  shortcuts  for  the  cursor  movement  commands, as the
  220. ultimate  in  online documentation.  You can select these commands from the
  221. menu with the mouse, but few people actually do.
  222.  @{" Jump to line... - Keyboard shortcut Amiga-j " Link "JumpToLine"}
  223.  @{" Jump to auto-mark - Keyboard shortcut Amiga-4 " Link "JumpToAutoMark"}
  224.  @{" Jump to byte... - Keyboard shortcut Amiga-J " Link "JumpToByte"}
  225.  @{" Cursor key movement " Link "CursorKeyMovement"}
  226. @EndNode
  227. @Node About "About..."
  228.                                  About...
  229.     The 'About' menu command brings up an informative requester telling
  230. you what version of CygnusEd you are running.
  231. @EndNode
  232. @Node Clear "Clear"
  233.                                    Clear
  234.     The  'Clear'  command  clears  out the current file, including it's
  235. name.  All views of the current file will be cleared.  If you have made any
  236. changes then you will be asked to confirm the clear before proceeding.  You
  237. can undo this operation, but the file name is permanently lost.
  238. @EndNode
  239. @Node OpenNew "Open new - Keyboard shortcut Amiga-?"
  240.                   Open new - Keyboard shortcut Amiga-?
  241.     The  'Open  New'  command creates a new, empty file buffer.  If the
  242. current  file  has  multiple views on it then the current view will be used
  243. for the new file buffer.  If the current file has just one view on it, then
  244. a new view will be created for it.
  245. @EndNode
  246. @Node Open "Open... - Keyboard shortcut Amiga-o"
  247.                   Open... - Keyboard shortcut Amiga-o
  248.     The  'Open'  command  is  used  to  load  a new file from disk into
  249. CygnusEd.   The file is always loaded into the current view - a new view is
  250. not created for the new file.  If the current file has multiple views on it
  251. then  the  current view will be used for the new file.  If the current file
  252. has  just  one  view on it, then the new file will replace the current one.
  253. If  the current file has been changed then you will be aksed to confirm the
  254. overwrite.   The standard ASL file requester is used to select the file, or
  255. files,  to  open.   If  multiple files are chosen then additional views are
  256. opened for the additional files.
  257. @EndNode
  258. @Node IncludeFile "Include file... - Keyboard shortcut Amiga-O"
  259.               Include file... - Keyboard shortcut Amiga-O
  260.     The  'Include  file'  command  is  used  to  insert a file into the
  261. current  file.  Including a file in this way is similar to pasting from the
  262. clipboard,  except  that  you  are  pasting  from  a file instead of from a
  263. clipboard.    Note   that   the  keyboard  shortcut  for  this  command  is
  264. Amiga-Shift-o,  which  is  very  similar  to  the  open  command's keyboard
  265. shortcut  of  Amiga-o.   This  similarity  reflects  the  fact that the two
  266. commands  are  similar,  in that they both load in files.  The standard ASL
  267. file requester is used to select the file to include.
  268. @EndNode
  269. @Node SaveClipAs "Save clip as... - Keyboard shortcut Amiga-n"
  270.               Save clip as... - Keyboard shortcut Amiga-n
  271.     The  'Save  clip  as'  command  saves  the  current contents of the
  272. clipboard  as  a file on disk.  This is very convenient if you want to save
  273. part  of  a file as a new file on disk, or if you want to break a file into
  274. two  parts.  Alternately you can use the 'Open new' command, paste into the
  275. new buffer, and save the new buffer with the 'Save' or 'Save as' commands.
  276. @EndNode
  277. @Node Save "Save - Keyboard shortcut Amiga-w"
  278.                     Save - Keyboard shortcut Amiga-w
  279.     The  'Save'  command saves the current file under its current name.
  280. If  the  current  file  is  unnamed,  then  the standard ASL file requester
  281. appears to allow you to select a file name.  The save will occur even if no
  282. changes have been made to the file.
  283. @EndNode
  284. @Node SaveAs "Save as... - Keyboard shortcut Amiga-W"
  285.                  Save as... - Keyboard shortcut Amiga-W
  286.     The 'Save as' command brings up the ASL file requester to allow you
  287. to  save the current file under a new name.  The save will occur even if no
  288. changes have been made to the file.
  289. @EndNode
  290. @Node SaveAllChanges "Save all changes"
  291.                              Save all changes
  292.     The 'Save all changes' command will save all loaded files that have
  293. been  changed.   Changed  files are indicated with an asterisk ('*') in the
  294. title  bar.   The  number  of  changes made since the last save can also be
  295. displayed (see the 'Status Line' command in the 'View Settings' menu).
  296. @EndNode
  297. @Node ChangeCurrentDir "Change current directory..."
  298.                         Change current directory...
  299.     If  you  make use of CygnusEd's ability to execute DOS commands and
  300. ARexx  scripts  from within CygnusEd then you sometimes need the ability to
  301. change  CygnusEd's  directory,  because  these  commands inherit CygnusEd's
  302. current  directory.  The standard ASL directory requester is used to select
  303. a new current directory.
  304. @EndNode
  305. @Node SpawnNewCed "Spawn new CED      Ctrl+Esc"
  306.                         Spawn new CED      Ctrl+Esc
  307.     Although  CygnusEd can edit multiple files, and have multiple views
  308. on  each  of  those  files,  it  sometimes  makes  sense to make use of the
  309. multitasking abilities of the Amiga by running multiple copies of CygnusEd.
  310. This  can  give  you  extra  flexilibity  in the arranging of your document
  311. windows,  even allowing you to have different copies of CygnusEd running on
  312. different  screens.   Additional  copies  can be run from the CLI, from the
  313. workbench, or by selecting 'Spawn new CED'.
  314. @EndNode
  315. @Node ActivateNextCed "Activate next CED    Ctrl+n"
  316.                         Activate next CED    Ctrl+n
  317.     If  you run multiple copies of CygnusEd you will frequently need to
  318. switch between them.  This command makes it easy to do this.
  319. @EndNode
  320. @Node PrintClip "Print clip... - Keyboard shortcut Amiga-p"
  321.                Print clip... - Keyboard shortcut Amiga-p
  322.     The  'Print  clip'  command starts up a background process to print
  323. the  contents  of the clipboard to your printer.  Because the printing runs
  324. in  the  background  you  can resume work immediately.  However, you cannot
  325. exit CygnusEd until printing has completed.
  326. @EndNode
  327. @Node PrintFile "Print file... - Keyboard shortcut Amiga-P"
  328.                Print file... - Keyboard shortcut Amiga-P
  329.     The  'Print  file'  command starts up a background process to print
  330. the  contents  of  the  current file to your printer.  Because the printing
  331. runs  in  the  background you can resume work immediately, even editing the
  332. document  that  is  being printed, without affecting the results.  However,
  333. you cannot exit CygnusEd until printing has been completed.
  334. @EndNode
  335. @Node Quit "Quit - Keyboard shortcut Amiga-q"
  336.                     Quit - Keyboard shortcut Amiga-q
  337.     The 'Quit' command does not necessarily tell CygnusEd to completely
  338. quit.   It would be more accurate to describe it as a 'Close view' command.
  339. The  current  view on the current file is closed.  If that is the last view
  340. on  that file then the file is cleared from memory (after confirmation from
  341. the user if there were any changes to the file).  If there is only one view
  342. open  when  this  command is chosen then then CygnusEd's main window closes
  343. also.   However,  even  then CygnusEd may not completely terminate.  If you
  344. are  using  the  'Hot  Start'  feature  of  CygnusEd, then CygnusEd remains
  345. dormant,  ready  to  be  invoked  by  the hot key (Alt-Shift-Return) or the
  346. CygnusEd invoker program, ed.
  347. @EndNode
  348. @Node SaveAndQuit "Save & quit - Keyboard shortcut Amiga-Q"
  349.                 Save & quit - Keyboard shortcut Amiga-Q
  350.     The  'Save  &  quit' command is just like the 'Quit' command except
  351. that  the current file is first saved.  Again, this command is best thought
  352. of as 'Save & close view' rather than 'Save & quit'.
  353. @EndNode
  354. @Node QuitAndDie "Quit & die"
  355.                                 Quit & die
  356.     If  you  are using the 'Hot Start' feature of CygnusEd then closing
  357. down the last view does not actually terminate the program - unless you use
  358. the 'Quite & die' command.  This removes CygnusEd from memory after closing
  359. the last view.
  360. @EndNode
  361. @Node OpenOnPublic "Open on public screen..."
  362.                          Open on public screen...
  363.     One  of  the  wonderful  new features of the AmigaDos 2.0 operating
  364. system  is public screens.  Many programs, such as Mand2000, Art Department
  365. Professional, Directory Opus and many others open what are known as 'public
  366. screens'.   If  one  of these programs is running when you select this menu
  367. item  then  a  requester  will  appear  listing all the currently available
  368. public screens that are at least 640 by 200 pixels in size.  You can select
  369. any  of  these  screens,  and  suddenly  CygnusEd  is running on Mand2000's
  370. screen,  so  that  you  can  write letters while you explore fractals!  The
  371. workbench screen is the one public screen that is always available, so that
  372. this  command  is how you get CygnusEd to open on the workbench screen.  If
  373. there  is only one public screen available, typically the workbench screen,
  374. then  no  requester appears and CygnusEd moves directly to that screen.  If
  375. you  have  multiple  copies of CygnusEd running and if CygnusEd is setup to
  376. declare  its  own  screen  to  be public then you can open a second copy of
  377. CygnusEd on another CygnusEd's screen.
  378. @EndNode
  379. @Node SetScreen "Set screen type and size..."
  380.                         Set screen type and size...
  381.     This  command invokes the standard ASL screen mode requester.  This
  382. requester  allows  you  to select any standard Amiga screen mode, including
  383. the  new  AGA  screen  modes.  It also allows you to pick a wide variety of
  384. screen  modes  that become available if you install one of many third party
  385. graphics boards that supply intuition compatible screen modes.  Such boards
  386. include  the  Picasso,  Retina,  EGS Spectrum and many others.  CygnusEd is
  387. highly compatible with all of these graphics boards.
  388. @EndNode
  389. @Node DuplicateWB "Duplicate Workbench size"
  390.                          Duplicate Workbench size
  391.     The  'Duplicate  Workbench  size'  command is provided based on the
  392. assumption  that  as monitors and graphics boards change, people frequently
  393. need  to  change  the  screen  modes  that  they work with, and that it's a
  394. nuisance  to  have  to  change  the  screen modes for potentially dozens of
  395. different  programs.   This  problem  can  be  particularly annoying if the
  396. program  you  are  trying  to change comes up in a no longer visible screen
  397. mode,  forcing  you  to  reconfigure  it  blind.   If  you  set CygnusEd to
  398. 'Duplicate Workbench size' then CygnusEd will always open up in exactly the
  399. same  screen  mode and resolution as you workbench screen, meaning that you
  400. will  never  have  to  reconfigure  it  again.   CygnusEd will open up on a
  401. different screen from the workbench, but this screen will be identical.
  402. @EndNode
  403. @Node MacroDefinitions "Macro definitions"
  404.                              Macro definitions
  405.     CygnusEd  features  a  very  powerful macro definition ability that
  406. makes  it  possible  to  assign  any sequence of commands to any key on the
  407. keyboard,  with  no  programming required.  Creating macros in CygnusEd and
  408. remapping  the  keyboard  is  so easy that CygnusEd users frequently create
  409. 'throwaway'  macros  for  key  sequences that they will only be repeating a
  410. couple  of  times.  The basic way of defining macros in CygnusEd is to type
  411. Amiga-m,  the  key you want to assign the macro to, do the actions you want
  412. recorded  (all  the commands are processed while you do this) and then stop
  413. defining by typing Amiga-m again.  That's it.
  414.  @{" Begin short invocation macro - Keyboard shortcut Amiga-m " Link "BeginShortMacro"}
  415.  @{" Begin long invocation macro - Keyboard shortcut Amiga-M " Link "BeginLongMacro"}
  416.  @{" Define startup macro " Link "DefineStartupMacro"}
  417.  @{" Quote key " Link "QuoteKey"}
  418.  @{" Clear definitions " Link "ClearDefinitions"}
  419.  @{" Load definitions... - Keyboard shortcut Amiga-; " Link "LoadDefinitions"}
  420.  @{" Save definitions... - Keyboard shortcut Amiga-' " Link "SaveDefinitions"}
  421. @EndNode
  422. @Node BeginShortMacro "Begin short invocation macro - Keyboard shortcut Amiga-m"
  423.         Begin short invocation macro - Keyboard shortcut Amiga-m
  424.     This is the most commonly used command for defining macros.  Select
  425. this command (or, more commonly, type Amiga-m) and then follow the prompts.
  426. The  first  thing you will be prompted for is a key to assign the macro to.
  427. This  can  be  a  single  key,  such as F1, 'B', or 'Enter', or it can be a
  428. modified  key,  such  as  Ctrl-U, Alt-Shift-8, or Ctrl-Alt-Shift-Amiga-Tab.
  429. Every  key  on  the keyboard, with the exception of the control, alt, shift
  430. and  Amiga keys, can have a macro assigned to it.  Because the Amiga key is
  431. a valid qualifier key, you can override the supplied command key shortcuts.
  432. Because  control, alt and shift are also valid qualifier keys, you can have
  433. as  many  as  sixteen  commands  attached  to one key.  In order to end the
  434. definition  of  a  macro,  select this command again.  In other words, this
  435. command is simultaneously stop and start definition.
  436.     Macros   can   contain  any  keystroke,  including  Amiga-key  menu
  437. shortcuts,  indeed  they  can  contain  any menu command at all.  If a menu
  438. command  in  a  macro  brings up a requester, such as the search requester,
  439. then  CygnusEd  will query you as to whether you would like the contents of
  440. the  requester  stored  in  the  macro.   If you answer yes then the search
  441. string  and flags will be inserted at playback time, and the requester will
  442. not  be displayed - the same string will be searched for each time.  If you
  443. answer no then the requester will come up each time you playback the macro.
  444. If  you  want  your  macro  to  search for whatever string is in the search
  445. buffer  at  the  time  the  macro  is invoked, then you would need to use a
  446. search  command  that doesn't bring up a requester at all - such as 'Repeat
  447. search  forwards'.   The  same principles apply to the 'Open' and 'Save as'
  448. requesters, the 'Send DOS/ARexx command'' and other requesters.
  449.     If  in  the  course of defining a new macro you invoke a previously
  450. defined  macro then the contents of the previously defined macro are played
  451. back  into  the  new  macro.  The new macro receives a copy of the previous
  452. macros contents.  If at a later date you change the original macro, the new
  453. macro with its copy is unaffected.
  454.     The  only  menu commands that can not be included inside a CygnusEd
  455. macro are the macro menu commands.
  456.     To delete an existing macro, either use metamac, or assign an empty
  457. macro  to  that  key.  That is, select 'Begin short invocation macro', then
  458. enter the keystroke, then select 'Begin short invocation macro' again.
  459.     The commands in the macro menu cannot be added to macros.
  460.     In  practice  we  suggest  using  the function keys and control-key
  461. sequences for creating commands.
  462.     Some  of  my  favourite  macros  are  listed  here,  along with the
  463. keyboard shortcuts I use for them:
  464.     I attach the following macro to Ctrl-Return.  It has the convenient
  465. (for  C  programmers)  effect of creating a new brace block and leaving the
  466. cursor on an indented line.
  467.     shift-Return (auto-indent)
  468.     shift-Return (auto-indent)
  469.     up arrow
  470.     shift-Return (auto-indent)
  471.     I  attach  the following macro to Ctrl-S.  It has the useful affect
  472. (for dyslexics) of swapping the next two characters.
  473.     Delete
  474.     right-arrow
  475.     Alt-Delete (undelete last deleted character)
  476.     left-arrow
  477.     If  you wish to edit macros that you have created, see the separate
  478. utility program 'MetaMac'.
  479. @EndNode
  480. @Node BeginLongMacro "Begin long invocation macro - Keyboard shortcut Amiga-M"
  481.         Begin long invocation macro - Keyboard shortcut Amiga-M
  482.     To increase potential compatibility with other text-editors such as
  483. Micro-Emacs,  that have rather long and convoluted multi-character keyboard
  484. commands,  CygnusEd  allows  you  to  assign  macros to key sequences.  The
  485. keyboard shortcut for this command is Amiga-shift-m, as opposed to Amiga-m,
  486. to  reflect the similarity with the 'Begin short invocation macro' command.
  487. With  this  command,  after you type the first character to use in invoking
  488. the  command, you will be prompted as to whether you want to use additional
  489. keystrokes  to  invoke  this command.  You can define as long an invocation
  490. sequence  as you want, but realistically, anything more than two characters
  491. is  unmanageable.   You  could, for instance, assign the 'Paste' command to
  492. the  rather non-standard sequence ctrl-P,ctrl-A,ctrl-S,ctrl-T,ctrl-e.  Some
  493. might even argue that this is an intuitive and wonderful way to set up your
  494. text  editor.   Others,  more sensible, might argue that the punishment for
  495. mistyping a single character is too annoying.
  496.     In  order  to  end  the  definition of a macro, select this command
  497. again.   In  other  words,  this  command  is simultaneously stop and start
  498. definition.
  499.     As  with  the  single  character invocation macros, long invocation
  500. macros can be edited with the separate utility program 'MetaMac'.
  501. @EndNode
  502. @Node DefineStartupMacro "Define startup macro"
  503.                            Define startup macro
  504.     If  you like to have your text editor always great you by typing in
  505. a  cheery  'Hello  jack',  or  if, like the majority of us who aren't named
  506. Jack,  you'd  rather have your text editor invoke a particular ARexx script
  507. on  startup,  the  startup  macro  is  perfect for you.  Simply select this
  508. command  and  then  enter  the sequence of commands you wish played back at
  509. startup.   To  end  the  macro  definition,  select 'Begin short invocation
  510. macro'.
  511. @EndNode
  512. @Node QuoteKey "Quote key"
  513.                                  Quote key
  514.     You  may  end  up assigning a macro to a key, such as Ctrl-S, which
  515. you  occasionally  need  to  type into a document.  If you need to do this,
  516. select the 'Quote key' command followed by the key in question.  The 'Quote
  517. key'  command tells CygnusEd to ignore any macros assigned to the keystroke
  518. which follows.
  519. @EndNode
  520. @Node ClearDefinitions "Clear definitions"
  521.                              Clear definitions
  522.     The  'Clear  definitions' command clears all currently loaded macro
  523. definitions.
  524. @EndNode
  525. @Node LoadDefinitions "Load definitions... - Keyboard shortcut Amiga-;"
  526.             Load definitions... - Keyboard shortcut Amiga-;
  527.     The  'Load  definitions'  command  loads  a CygnusEd macro file in,
  528. first clearing out all existing macro definitions.
  529. @EndNode
  530. @Node SaveDefinitions "Save definitions... - Keyboard shortcut Amiga-'"
  531.             Save definitions... - Keyboard shortcut Amiga-'
  532.     The  'Save definitions' command saves the currently loaded CygnusEd
  533. macro  definitions.   The  macros  can be saved to any filename, but if you
  534. save them to s:cedmacros (the default name) then they will be automatically
  535. loaded  in  when  you  run  CygnusEd  the  next  time.  If you save them to
  536. cedmacros in some directory other than s:  then they will only be loaded in
  537. if the cedmacros file is in you current directory when you run CygnusEd.
  538. @EndNode
  539. @Node Priority "Priority"
  540.                                  Priority
  541.    Inherit?
  542.    Priority  x?
  543. Set priority...
  544.     In  order to cooperate well in the Amiga's multitasking environment
  545. it  is  important  that  CygnusEd have its multitasking priority set to the
  546. appropriate  level,  so  that  it  doesn't  steal  more  CPU  time  than is
  547. necessary,  but  it  doesn't  run  sluggishly.   There  are two modes which
  548. CygnusEd can operate in for deciding it's priority.  One is to inherit it's
  549. priority from its parent.  Its parent would either be the workbench, if you
  550. run  it  from there, or a CLI, if you run it from there.  The priority of a
  551. CLI  can  be  changed with the ChangeTaskPri command.  If the priority of a
  552. CLI  is  changed  after  CygnusEd  is run, that has no effect on CygnusEd's
  553. priority.
  554.     The  other  more  common  way  is  to  set  CygnusEd  to a specific
  555. priority.   The  default  is one.  This is usually a good choice because if
  556. you  are compiling or ray tracking at a priority of zero or lower, CygnusEd
  557. will  run  at  top speed, unaffected by your ray tracing.  This is probably
  558. what  you  want, since speed and responsiveness are terribly important in a
  559. text editor, but not even possible in a ray tracer.  If CygnusEd is sitting
  560. idle,  when  you aren't using it, CygnusEd will use zero CPU time, so there
  561. is  rarely  a  reason to lower CygnusEd's priority.  The one operation that
  562. should  have  a  higher  priority  than  CygnusEd  is any telecommunication
  563. programs you may run, as downloads may experience errors if CygnusEd steals
  564. too many CPU cycles from them.
  565.     The  'Inherit'  and 'Priority n?' check boxes (where 'n' represents
  566. the currently selected fixed priority) decide whether CygnusEd inherits its
  567. priority or sets it absolutely.  The 'Set priority...' command lets you set
  568. the fixed priority, but it has no affect if 'Inherit?' is set.
  569. @EndNode
  570. @Node AutoSave "Autosave"
  571.                                  Autosave
  572.    xx min?
  573. Set timer...
  574.     The  autosave command is an extremely handy feature for making sure
  575. that you don't lose work in case of an unexpected crash.  Although CygnusEd
  576. is  an  extremely  stable  and  torture  tested  program,  other  programs,
  577. especially  ones  in  development,  may  unexpectedly take down your Amiga.
  578. Although autosave can't completely protect you, it can minimize the damage.
  579.     If you enable autosave (select the 'n min?' command to make a check
  580. box appear) then all changed files will be saved to temporary files every n
  581. minutes  (you  set  the  interval with 'Set timer...').  If you are editing
  582. 'letter.txt'  then an autosave copy will be saved to 'letter.txt.auts'.  If
  583. you  later  manage  to  successfully save your changes, or if you close the
  584. file  without saving, then the autosave file will be automatically deleted.
  585. However  if  your system crashes unexpectedly, then the autosave files will
  586. be  left  behind.  The next time you go to edit 'letter.txt.auts', CygnusEd
  587. will  tell  you  that  there  is an autosave version, and will give you the
  588. option  to  load it in instead of the older version.  It will then load the
  589. autosave  version  in under the proper file name, without '.auts'.  So even
  590. if  you  don't  realize that you've lost changes, CygnusEd will remind you.
  591. If you do realize that you've lost some changes, you can also look for them
  592. by searching for '#?.auts' files.
  593.     If  you  are  editing  a  new  file that you have not yet saved (an
  594. unnamed    file)    then    CygnusEd    will    autosave    the   file   as
  595. 'CygnusEdUnNamedN.auts',  where  the  'N' represents a number, necessary to
  596. ensure  that  the  filename is unique.  Because the file was never saved by
  597. you,  CygnusEd can't warn you of the unsaved version the next time you load
  598. the  real version.  Therefore after a crash, if you think you may have been
  599. working on new files it is important that you look for any #?.auts files.
  600. @EndNode
  601. @Node SetIconToolName "Set icon tool name..."
  602.                            Set icon tool name...
  603.     When  files  are saved from CygnusEd they can, optionally, be saved
  604. with an icon, for easy access from the workbench.  The 'Set icon tool name'
  605. allows  you  to specify what the default tool should be for the icons.  The
  606. 'default tool' is the program that will be run when you double click on the
  607. icon.   The  default  'default  tool'  is  'ed',  the CygnusEd invoker.  An
  608. alternate,  more  flexible way of controlling the icon used for files saved
  609. from  CygnusEd  is to create the icon you want used, complete with imagery,
  610. tool  types  and  save  it  to  'env:ced/def_cedfile.info'.  You'll have to
  611. create  the  'env:ced' directory, and you'll probably want to save the icon
  612. to  'envarc:ced/def_cedfile.info'  as  well,  to make your preferred icon a
  613. permanent setting.
  614. @EndNode
  615. @Node Colours "Colours"
  616.                                   Colours
  617. Cycle colours - Keyboard shortcut Amiga-$
  618. Adjust colours...
  619. Use WBench colours
  620.     CygnusEd  allows limited control over the colours it uses, and then
  621. only  when  it  is using its own screen (ie; CygnusEd will not allow you to
  622. change  the  colours  of  the  workbench  screen  or some other screen that
  623. CygnusEd  is 'visiting').  The cycle-colours command, a rarely used command
  624. that  is  granted  a  keyboard  shortcut  for anachronistic reasons, merely
  625. shuffles  the  four  available  colours  through  all  of  the  twenty-four
  626. mathematical  permutations and possibilities.  'Adjust colours' brings up a
  627. colour  selection  requester, which allows you to customize the colours any
  628. way that you want.  'Use WBench colours' tells CygnusEd to grab the colours
  629. from  the  workbench  screen.  It also tells CygnusEd to grab the workbench
  630. colours  every  time CygnusEd is run, meaning that any changes in workbench
  631. colours will soon be reflected in CygnusEd's colour scheme.
  632. @EndNode
  633. @Node FileSaveMethod "File save method"
  634.                              File save method
  635.     CygnusEd  offers  you  a  number  of  different ways of saving your
  636. files,  depending  on  how  strongly  you  value  safety versus speed.  The
  637. simplest  method  is  'Simple  saves'.  With this method the file is simply
  638. saved  out  directly.   This  is slightly faster than the other methods, it
  639. avoids  ever  having  multiple  copies  of  file  on disk (handy if you are
  640. running very low on space) and, because it doesn't create a brand new file,
  641. it  can  avoid  some permission problems when saving to a file server.  The
  642. main  problem  with  'Simple  saves'  is  that  if your Amiga crashes while
  643. CygnusEd  is  in  the process of writing out the file, not only are the new
  644. changes  lost, it's quite likely that the old file is lost as well, leaving
  645. you with a zero length file.  If this does happen to you, stop your Amiga's
  646. reboot  with a well placed Ctrl-D and look at the disaster recovery section
  647. of this manual.
  648.     Next  up on the safety scale is 'Safe saves'.  With this method the
  649. file  is  saved  to a temporary filename, and when all of the data has been
  650. safely  written to disk, the old file is deleted and the new one is renamed
  651. into  its  place.   With  this  method,  if your Amiga crashes, it is quite
  652. likely  that  either  the  old  file,  the  new file, or both, will survive
  653. unscathed.   The  old  file  will typically be found unaltered, and the new
  654. file may be found listed under a name such as 'CygnusEdTemp.0Na', where 'N'
  655. represents some number.
  656.     Finally, the safest method, my favourite, my recommended choice, is
  657. 'Backup  to *.bak'.  This method is very similar to safe saves, and has all
  658. of its benefits.  However instead of deleting the old file, the old file is
  659. rename to '*.bak'.  If you are editing 'file.txt' then the old version will
  660. get  renamed to 'file.txt.bak' (deleting any older versions of file.txt.bak
  661. if  necessary).   Not only does this make the saving process easier, but it
  662. allows you to revert to a previous version, long after you finish saving.
  663. @EndNode
  664. @Node IconCreation "Icon creation?"
  665.                               Icon creation?
  666.     The  'Icon creation?' toggle governs whether CygnusEd saves an icon
  667. with each file it saves.  See 'Set icon tool name' for more information.
  668. @EndNode
  669. @Node HotStart "Hot-Start enabled?"
  670.                             Hot-Start enabled?
  671.     In order to sate the power hungry desires of impatient programmers,
  672. CygnusEd  has  an  optional mode, used by almost all CygnusEd users, called
  673. 'Hot-Start'.   If you enable this mode it means that when you exit CygnusEd
  674. it  doesn't  really exit.  It sits waiting for your next command, invisible
  675. to   the   untrained   eye.    To  awaken  CygnusEd  you  can  simply  type
  676. 'Alt-Shift-Return'  -  easily drummed out with the right hand, and CygnusEd
  677. instantly pops into view.  If you are at the command line then you can type
  678. 'ed'  or  'ed  filename' or 'ed *.c' and CygnusEd will pop up into view and
  679. load  the requested files.  For more information, see 'Quit & Die' and 'Ed:
  680. the CygnusEd invoker'
  681. @EndNode
  682. @Node AutoExpand "Auto-expand views? - Keyboard shortcut Amiga-["
  683.              Auto-expand views? - Keyboard shortcut Amiga-[
  684.     CygnusEd  can  have  many  different  files open and many different
  685. views on these files, Some people, like myself, like most of these views to
  686. be  open  so  that  I  can  see  the contents of many files simultaneously.
  687. Others  feel  that  only the currently active file is of interest, and they
  688. want all others to shrink away to nothing.  'Auto-expand views?' turns on a
  689. mode  in  which  whenever  a  new view becomes active, either through being
  690. selected  with  the  mouse or through the next/previous view commands, that
  691. view  is  expanded  to maximum size, while the surrounding views are shrunk
  692. down to the minimum one line height.
  693. @EndNode
  694. @Node KeypadMovement "Keypad = movement? - Keyboard shortcut Amiga-8"
  695.              Keypad = movement? - Keyboard shortcut Amiga-8
  696.     For  those  who work on IBM compatible computers all day, and yearn
  697. for  the thrill of a numeric keypad that doesn't type numbers, this command
  698. is  for  you.   Enabling  this  command  turns  the  numeric  keypad into a
  699. directional pad, with 2, 4, 6, and 8 being arrow keys, 1 and 7 being end of
  700. line  and  beginning of line (end and home), 3 and 9 being bottom of screen
  701. and  top of screen (page down and page up), 0 toggling insert mode, and '.'
  702. being the same as delete.
  703. @EndNode
  704. @Node SelectFont "Select font"
  705.                                 Select font
  706. Select disk font...
  707. Topaz 80 column
  708. Topaz 60 column
  709.     CygnusEd was never intended to be a word processor, so don't expect
  710. fancy  font  capabilities.   CygnusEd  does not allow multiple fonts in one
  711. file, it simply allows you to select alternate fonts for all of your files,
  712. to  allow  you  to choose the appropriate font for your particular graphics
  713. card,  monitor,  and  visual  acuteness.  You can either select Topaz 80 or
  714. Topaz  60, or use the standard ASL font requester to choose any mono-spaced
  715. font from disk.
  716. @EndNode
  717. @Node RenderingChoices "Rendering choices"
  718.                              Rendering choices
  719.    Use custom scrolling routines?
  720.    Use system scrolling routines?
  721.    Make screen public?
  722.     CygnusEd's  lightning  fast screen update and scrolling have always
  723. been  two of the features that have ensured its success.  However being the
  724. fastest  on  the  block  doesn't  help if everybody is moving to a graphics
  725. board  that  you're  not  compatible with.  Therefore CygnusEd 3.5 offers a
  726. number  of  options  to  allow  you  to  choose  the balance between system
  727. compatibility and speed that is right for you.
  728.     The  fastest routines are chosen by selecting 'Use custom scrolling
  729. routines'.  With this choice CygnusEd writes characters directly to display
  730. memory  (when  on  its  own  screen) and programs the blitter directly, for
  731. scrolling and redraws that happen faster than the eye can see.
  732.     Direct  blitter  programming  can  cause  CygnusEd  to sop up every
  733. single  bus  cycle  available  and,  for reasons never quite explained, can
  734. cause  some  terminal  programs to experience data errors while downloading
  735. files.   All  sorts  of  explanations as to why this can't happen have been
  736. given,  but  it  continues happening.  So, the simple solution is to select
  737. 'Use  system  scrolling routines?'.  In this mode the scrolling is slightly
  738. slower (but still very fast) and the characters are written directly to the
  739. screen at a minimum speed of 30,000 characters per second.
  740.     The  most  system compatible mode, compatible with most third party
  741. graphics  boards,  is  to  make  CygnusEd's  screen  public.   In this mode
  742. CygnusEd  strictly follows the rules and allows other programs to share its
  743. screen.   This  allows  you  to,  for instance, open Mand2000 on CygnusEd's
  744. screen, and do some four colour fractal exploration while writing the great
  745. Canadian  novel.   Or you open Art Department Professional on your CygnusEd
  746. screen  so  that  you can watch your ARexx scripts process images while you
  747. write e-mail.
  748. @EndNode
  749. @Node LoadEnvironment "Load environment"
  750.                              Load environment
  751. Default - Keyboard shortcut Amiga-e
  752. Specify...
  753.     All  of  the  settings above can be saved to CygnusEd's environment
  754. files.   Typically  those  settings are automatically loaded in, but if you
  755. wish  you  can force those settings to be reloaded.  'Default' loads in the
  756. default settings file, based on the current file extension.  If the current
  757. file  is  called  'fred.txt' then the file 'ceddefaults.txt' will be looked
  758. for,  in the current directory and then in 'S:'.  If that file isn't found,
  759. then  'ceddefaults'  (no extension) will be looked for, also in the current
  760. directory  and  then  in 'S:'.  All settings, global, file and view will be
  761. loaded.
  762.     'Specify' lets you select any settings file and load it in.
  763. @EndNode
  764. @Node SaveEnvironment "Save environment... - Keyboard shortcut Amiga-E"
  765.             Save environment... - Keyboard shortcut Amiga-E
  766.     This  command  allows  you  to  save all of the current environment
  767. settings.   All  of  the  global,  file  and  view settings are saved.  The
  768. default  file  name  supplied  is  'S:ceddefaults.ext'  where '.ext' is the
  769. extension  of the current file you're editing.  If you have made changes to
  770. the   global   settings,  you  should  probably  save  the  environment  to
  771. 'S:ceddefaults'  as  well as the global defaults are by default loaded from
  772. there  initially, and are never loaded again, unless specifically requested
  773. by the user.
  774. @EndNode
  775. @Node TabSize "Tab size"
  776.                                  Tab size
  777.     CygnusEd  supports  true  tabs,  of  any size ranging from 1 to ten
  778. spaces  long.   Typical  sizes  are five or eight for writing letters, two,
  779. three  or  four  for writing programs.  Files that are displayed with a tab
  780. size  other  than  the one they were created with can lose their formatting
  781. and look quite terrible.
  782.     Interesting animations can be made by swiftly changing the tab size
  783. of an excessively indented C file.  Try holding down the shift key and drag
  784. selecting  all  ten tab sizes, then watch as CygnusEd changes tab sizes ten
  785. times.  Or make a macro with even more tab size changes.
  786. @EndNode
  787. @Node CustomizeTabs "Customize tabs... - Keyboard shortcut Amiga-t"
  788.              Customize tabs... - Keyboard shortcut Amiga-t
  789.     Some  people,  particularly  assembly  language programmers, aren't
  790. satisfied  with  evenly  spaced tabs.  They want a tab for opcodes, another
  791. for  operands,  and  a  third,  way  out  there,  for  comments.  Selecting
  792. 'Customize  tabs'  lets  you specify any arbitrary arrangement of tab stops
  793. that you would like.
  794. @EndNode
  795. @Node SetRightBorder "Set right border... - Keyboard shortcut Amiga-^"
  796.             Set right border... - Keyboard shortcut Amiga-^
  797.     The  'Set  right  border' command allows you specify a right border
  798. for  your  documents.   This  right  border  affects  word  wrap, paragraph
  799. reformatting, and centering of lines.
  800. @EndNode
  801. @Node SetScrollJump "Set scroll jump"
  802.                               Set scroll jump
  803.     CygnusEd  can scroll your files faster than the eye can follow, but
  804. sometimes  an  unreadable  blur of text isn't actually what you want.  'Set
  805. scroll jump' controls how quickly text scrolls.  Larger numbers mean faster
  806. scrolling.
  807. @EndNode
  808. @Node MaxScroll "Max scroll   xx..."
  809.                             Max scroll   xx...
  810.     One  of  the important design goals of CygnusEd was to ensure that,
  811. whenever  possible,  cursor  moves  from one part of a file to another were
  812. done  by  scrolling, rather than jumping to the new location and redrawing.
  813. The advantage of scrolling is that it means that you intuitively keep track
  814. of  how far you've gone and where you are.  If the screen redraws, you lose
  815. all  visual  clues  as  to  where you are.  It can be hard to differentiate
  816. between a move of several thousand lines and a move to the next line in the
  817. file.
  818.     'Max  scroll'  lets you control this.  It sets the maximum distance
  819. that  CygnusEd  will  scroll.   If  you ask CygnusEd to move the cursor any
  820. further  than  this  maximum  number of lines, either by using the 'Jump to
  821. line'  command,  the  search  command,  or even the page down command, then
  822. CygnusEd  will  redraw  the  screen rather than scrolling.  I strongly feel
  823. that  'Max  scroll'  should  be set to at least several lines more than the
  824. number  of  lines  visible  on  the  screen,  and to at least thirty or so.
  825. However,  some  misguided  people  think  that speed is more important than
  826. knowledge,  so  they  like  to  set  it  down to ten, or less.  These small
  827. maximum  scroll  jumps  can  speed  things  up, but the price you pay is an
  828. increased difficulty in following your travels through the file.
  829. @EndNode
  830. @Node Layout "Layout? - Keyboard shortcut Amiga-5"
  831.                   Layout? - Keyboard shortcut Amiga-5
  832.     Normally CygnusEd does not allow the cursor to go beyond the end of
  833. lines.   The  cursor  is  normally  only  allowed  to  go  where  there are
  834. characters.  Sometimes, particularly when using the vertical block command,
  835. or  creating  tables, it can be useful to allow the cursor to go out beyond
  836. the  end  of  lines.   Layout mode does this.  Turn this on if you want the
  837. cursor to move beyond the end of lines.
  838.     If  you  are out beyond the end of a line and you type a character,
  839. CygnusEd  will  automatically  fill  in  the  necessary spaces to allow the
  840. character to be typed at that location.  If you then delete that character,
  841. CygnusEd will then remove those spaces.  Additionally, CygnusEd will remove
  842. any  end  of line spaces and tabs as you scroll around the file, if you are
  843. in layout mode.
  844. @EndNode
  845. @Node WordWrap "Word wrap? - Keyboard shortcut Amiga-6"
  846.                  Word wrap? - Keyboard shortcut Amiga-6
  847.     Although  CygnusEd  is  certainly  not  a  word  processor,  it  is
  848. frequently used for writing of letters and other non-programming documents,
  849. especially  for e-mail.  It has the advantage over word processors of being
  850. extremely  quick,  keeping  up  with  even the swiftest typist.  To support
  851. those who write paragraphs as well as functions, CygnusEd has a 'Word wrap'
  852. function.   If  you  enable  this mode then whenever the cursor reaches the
  853. right  border  (see 'Set right border') the current word and the cursor are
  854. wrapped around onto the next line.
  855.     However,  because  CygnusEd  does  not store text as paragraphs (it
  856. stores  text  as  individual  lines which is the standard ASCII file way to
  857. store  files)  and  because  CygnusEd  does not store any hidden formatting
  858. codes, that's about all the the word wrap can do.  If you delete words from
  859. the  middle  of a paragraph, the paragraph will not be reformatted.  If you
  860. add  words  in the middle of a paragraph, no reformatting will happen until
  861. you  reach  the  end of the line, at which point the entire end of the line
  862. will be wrapped.
  863.     If  you  edit  a paragraph and destroy the formatting, CygnusEd can
  864. still help you out with its paragraph formatting command.  See 'Format' for
  865. more information.
  866. @EndNode
  867. @Node InsertNode "Insert mode? - Keyboard shortcut Amiga-7"
  868.                 Insert mode? - Keyboard shortcut Amiga-7
  869.     When  entering new characters CygnusEd normally pushes all previous
  870. characters  out  of  the  way.  If you put CygnusEd into 'Insert mode' then
  871. each  new  character  typed  replaces  the one previously under the cursor.
  872. Insert mode does not effect deleting.
  873. @EndNode
  874. @Node TabsSpaces "Tabs = spaces? - Keyboard shortcut Amiga-0"
  875.                Tabs = spaces? - Keyboard shortcut Amiga-0
  876.     When  you  press  the  Tab key, CygnusEd normally enters a real tab
  877. character  (ascii  value  nine).   This  is the most space efficient way of
  878. storing  tabs, and it allows you to then delete the tab with a single press
  879. of  the  delete  or  backspace  key.   However if you move your document to
  880. another  text  editor  that  does  not  support  the tab size that you have
  881. chosen,  your  document's formatting will change.  Therefore CygnusEd gives
  882. you the option to have all new tabs entered as spaces.  If you enable 'Tabs
  883. =  spaces?'  then pressing the Tab key enters the number of spaces required
  884. to move the cursor to the next tab stop.
  885. @EndNode
  886. @Node EditableFile "Editable file?"
  887.                               Editable file?
  888.     The  'Editable  file?'  command  allows you to tell CygnusEd that a
  889. particular file should not be changed.  Any attempts to do so will cause an
  890. error  message.   The editable file flag will also get set if you load in a
  891. file  that  you  do not have write permission for.  If this happens you can
  892. enable  editing  in the file by selecting 'Editable file?', but you may not
  893. be  able  to  write  your  changes  out to the file because of insufficient
  894. permissions.
  895. @EndNode
  896. @Node StatusLine "Status line"
  897.                                 Status line
  898.     CygnusEd's  status line is broken up into two parts.  The left hand
  899. part  normally  displays  as  much  of  the path name of the loaded file as
  900. possible, but can be made to display other information through the controls
  901. below.  The left half also normally displays a view number at the left edge
  902. if there is more than one view on a particular file.
  903.     The  right  half  of  the  status  line  always  displays  the same
  904. information, in the following format:
  905.         KLWIT * line 1000 col 234
  906.     These symbols mean:
  907.     'K'  - if this is present, CygnusEd is in Keypad=Movement mode, and
  908. the  numeric keypad is setup for cursor movement instead of typing numbers.
  909. Type Amiga-8 to toggle this.
  910.     'L' - if this is present, that file is in Layout mode and the cursor
  911. can go beyond the end of lines.  Type Amiga-5 to toggle this.
  912.     'W' - if this is present, that file is in Word wrap mode, and words
  913. will  wrap  around  when  typed  beyond  the right border.  Type Amiga-6 to
  914. toggle this.
  915.     'I' - if this is present, that file is in Insert mode, and characters
  916. typed will push other characters out of the way.  Type Amiga-7 to toggle
  917. this.
  918.     'T'  - if this is present, that file is in tabs=spaces mode and any
  919. tabs that you enter will be replaced with the appropriate number of spaces.
  920. Type Amiga-0 to toggle this.
  921.     '*'  -  if this is present it means that the file has been changed,
  922. that the change count (see below) is non-zero.
  923.     The  remainder  of  the  right half of the status line displays the
  924. current line number and column number for the current view.
  925.     The  'Status line' sub menu allows control over what information is
  926. displayed  in  the  left  half  of  a  particular  view's status line.  The
  927. 'On/Off?'  command  turns  the entire status line on or off.  If the status
  928. line is off then the files name is showed instead.
  929.     If  'changes'  is  selected  then the number of changes made to the
  930. current  file  since  it was last saved are shown.  Each character that you
  931. type  into  CygnusEd  counts  as  a change.  Each character that you delete
  932. counts  as  a  change.  Pasting 50,000 characters into a document counts as
  933. one  change.   Replacing  all  one  thousand  occurences  of 'the' with the
  934. identical  text  'the'  counts  as one thousand changes.  So, the number of
  935. changes  can  give  you  an  idea as to how much has been done to your file
  936. since  you  last saved it, but it does not give you an accurate measurement
  937. of how different your file is from the saved version.  Note that the number
  938. of  changes  can  be negative, if you saved the file and then undid some of
  939. the  changes - undoing a change reduces the change count by the number that
  940. it  originally  went  up by.  If you type 'R' and then type 'Backspace' the
  941. change  count will be two.  If you type 'R' and then select 'Undo' then the
  942. change count will be zero.  In both cases the file will be unchanged.
  943.     If  'pages'  is  selected  then the number of pages in the document
  944. will  be displayed.  The number of pages is obtained simply by dividing the
  945. number of lines by 66, a common printer page length.
  946.     If 'Show ASCII values' is enabled then the status line displays the
  947. numerical  ASCII value of the character under the cursor.  This can be very
  948. useful when editing binary files (yes, CygnusEd gives you a limited ability
  949. to edit binary files).  The ascii value replaces the KLWIT display.
  950. @EndNode
  951. @Node WhiteSpaces "White spaces"
  952.                                White spaces
  953.     If  you  are  very concerned about precisely what is in your files,
  954. tabs  and  spaces  can give you some problems, because they look identical.
  955. Ordinarily  the  only way that you can differentiate between them is to try
  956. deleting  them.   The commands in the 'White spaces' menu allow you to make
  957. tabs,  spaces and end of line (EOL) characters visible.  This can make your
  958. screen  incredibly  cluttered,  but  if  you want to make sure that tabs or
  959. spaces are used consistently in your files, these options are very useful.
  960.     The   'Esc  codes  visible?'  toggle  is  a  peculiar  beast  which
  961. demonstrates CygnusEd's small time word processing replacement aspirations.
  962. You  can enter printer or console escape codes directly into your documents
  963. to alter the appearance of text when printed.  However entering these codes
  964. destroys the formatting of the document in CygnusEd so badly that it's very
  965. hard  to  get  the desired appearance.  If you disable 'Esc codes visible?'
  966. then  all  recognized  escape  codes  are  hidden  - the only sign of their
  967. existence  is  that  the  following  character is printed in inverse.  This
  968. feature is a bit anachronistic, and I don't recommend that you use it.
  969. @EndNode
  970. @Node ScrollBar "Scroll bar"
  971.                                 Scroll bar
  972.     Scroll bars, especially proportional scroll bars, can be incredibly
  973. useful  gadgets,  both  for  giving  you  smooth  analog  control over your
  974. location  in  a  file,  but  also for giving you instant intuitive feedback
  975. about  the size of your file and your location in it.  However, some people
  976. feel  that  scroll  bars  waste  too  many  columns of valuable screen real
  977. estate.   And some people running earlier versions of AmigaDOS occasionally
  978. run into a bug whereby they can't move their mouse to the right edge of the
  979. screen.   Therefore  CygnusEd  allows you to decide whether or not you want
  980. scroll  bars,  and  which  side you want them.  You can even have each view
  981. having  scroll  bars  on  a different size.  I'm not sure why you'd want to
  982. though...
  983. @EndNode
  984. @Node SetScrollBorders "Set scroll borders..."
  985.                            Set scroll borders...
  986.     The 'Set scroll borders' command is a very important one for giving
  987. CygnusEd its distinctive smooth scrolling and its uncanny ability to always
  988. ensure that you have enough context.  Far too many text editors happily let
  989. you  move  your  cursor  right to the bottom of the window, seemingly never
  990. realizing  that  if  your  cursor  is  at  line  199,  you're probably also
  991. interested  in  what's on line 200.  The scroll borders define a box inside
  992. the window which CygnusEd tries to keep the cursor inside of.  Whenever the
  993. cursor  goes outside of this box, by getting too close to any of the edges,
  994. CygnusEd  smooth  scrolls  the  necessary  number of lines of text onto the
  995. screen.  The only time CygnusEd will allow the cursor outside of the scroll
  996. borders  is if there is no additional data to scroll on - ie; if the cursor
  997. is  at  either end of the file, or the left edge, or the extreme right edge
  998. of the longest visible line.
  999. @EndNode
  1000. @Node ViewOperations "View operations"
  1001.                               View operations
  1002.     Although  the  Amiga's  wonderful  multitasking abilities mean that
  1003. there  is  technically  no  need  for  a  program  to handle multiple files
  1004. simultaneously  (after  all,  you  can  always just run another copy of the
  1005. program)  it  turns  out  that is frequently very useful to have many files
  1006. loaded into a simple program at one time.  It simplifies window management,
  1007. cutting  and  pasting,  and  keeping  everything  together  on  one screen.
  1008. CygnusEd  allows you to load multiple files, and it also allows you to have
  1009. multiple views on one file.  So, for instance, you can easily be looking at
  1010. the  opening paragraph of your doctoral thesis in one view while looking at
  1011. a  supporting  paragraph on page 97 in another view.  Because the two views
  1012. are  actually  looking  at  the same document, changes made to one view are
  1013. also made to the other one - you never need to worry about them getting out
  1014. of sync.
  1015.     To  create  a new view select the 'Split view' command.  This takes
  1016. the  current  view  and  splits  into  two  roughly  equal sized views.  If
  1017. necessary it will shove other adjacent views out of the way.  At this point
  1018. you  have created two cooperating views on the same file.  A common use for
  1019. this would be that when you are writing code that calls a function, you may
  1020. want to look at the functions definition earlier on in the file, or you may
  1021. want to look at some variable declarations earlier on in the same function,
  1022. but  currently off screen.  If you scroll back to look at these other areas
  1023. then  you  have  to return to your original location before you can use the
  1024. information  -  by  which  time  you may have forgotten.  Even using marked
  1025. locations  to  make  the  jumping  back  and  forth easy won't allow you to
  1026. examine  both  areas  simultaneously.  CygnusEd's multiple views and simple
  1027. window  management  commands  solve this problem.  Simply type 'Amiga-d' to
  1028. split  the  current  view in half.  Your cursor will be in the bottom view,
  1029. and  both  views will be displaying roughly the same area of the same file.
  1030. Jump,  search  and  scroll  to  the  area  of interest and cut or paste the
  1031. relevant  code.   Now  type 'Amiga-,' (Amiga-comma) to jump to the previous
  1032. view  -  the original one.  Type or paste in your code, while still looking
  1033. at  the  sample code in the view below.  When your finished, type 'Amiga-.'
  1034. (Amiga-period) to move to the next view (the recently created one) and then
  1035. type  'Amiga-q' to close that view down and resume your work.  It's simple,
  1036. fast  and  powerful.   You  never have to take your hands off the keyboard.
  1037. New  views  can  be  created  on a whim and destroyed seconds later, having
  1038. served their purpose.
  1039.     If you want to look at a different file, perhaps an include file, a
  1040. slight variation on the above process applies.  After doing the split view,
  1041. use  the  'Amiga-o'  shortcut to open up a new file.  This new file will be
  1042. placed  into  the  newly created view.  From that point on the instructions
  1043. are  identical.   In  this  case 'Amiga-q' not only closes the new view, it
  1044. also removes the new file from memory.
  1045.     Of  course  you  don't have to close the new view seconds after you
  1046. created  it.   You  can  have  up  to  twenty different views on a range of
  1047. different  files open all the time, and you can cut and paste between them,
  1048. use the next/previous view commands to move among them, or use the mouse to
  1049. select  a new view or size them, or size them from the keyboard with macros
  1050. attached to the 'Grow view' and 'Shrink view' commands.
  1051.     Now, onto the individual function descriptions.
  1052. @EndNode
  1053. @Node PreviousView "Previous view - Keyboard shortcut Amiga-,"
  1054.                Previous view - Keyboard shortcut Amiga-,
  1055.     This  command  moves the cursor to the previous view, the one above
  1056. the  current  one.   If  the  top  view  is  active, the bottom one will be
  1057. selected.  If only one view is open this command has no effect.
  1058. @EndNode
  1059. @Node NextView "Next view - Keyboard shortcut Amiga-."
  1060.                  Next view - Keyboard shortcut Amiga-.
  1061.     This  command  moves the cursor to the next view, the one below the
  1062. current  one.   If the bottom view is active, the top one will be selected.
  1063. If only one view is open this command has no effect.
  1064. @EndNode
  1065. @Node SplitView "Split view - Keyboard shortcut Amiga-d"
  1066.                  Split view - Keyboard shortcut Amiga-d
  1067.     The  'Split view' command takes the current view and splits it into
  1068. two  roughly  equal  sized  views on the same file.  If the current view is
  1069. less than three lines high then the surrounding views will be pushed out of
  1070. the way to make room.  If there is no room to expand the other views, or if
  1071. the number of views has already reached twenty then this command will fail.
  1072. @EndNode
  1073. @Node ExpandView "Expand view - Keyboard shortcut Amiga-]"
  1074.                 Expand view - Keyboard shortcut Amiga-]
  1075.     This  command  expands the current view out to the maximum possible
  1076. size.
  1077. @EndNode
  1078. @Node GrowView "Grow view"
  1079.                                  Grow view
  1080.     This  command  moves the title bar of the current view up one line.
  1081. If  there  is  no  room to move the title bar up, the title bar of the view
  1082. below  is  moved  down  one line.  This command is rather useless as a menu
  1083. command  with  no  keyboard  shortcut, so I always use a macro to bind this
  1084. command to a key.  My usual choice is F8.
  1085. @EndNode
  1086. @Node ShrinkView "Shrink view"
  1087.                                 Shrink view
  1088.     This command moves the title bar of the current view down one line.
  1089. If  there  is no room to move the title bar down, the title bar of the view
  1090. below  is  moved  up  one  line.   This command is rather useless as a menu
  1091. command  with  no  keyboard  shortcut, so I always use a macro to bind this
  1092. command to a key.  My usual choice is F9.
  1093. @EndNode
  1094. @Node Format "Format"
  1095.                                   Format
  1096.     The  format commands continue CygnusEd's imitation of a simple word
  1097. processor.  Selecting one of these two commands tells CygnusEd to treat all
  1098. the  text  from  the  current  line  down  to  the first blank line or line
  1099. starting  with  a space or a tab, as a single paragraph.  It then reformats
  1100. this  paragraph  to  fit  neatly  within  the  right border (see 'Set right
  1101. border').   The  left  border is always assumed to be the first column.  If
  1102. you  use  the 'With fill' option then spaces are added as necessary to fill
  1103. exactly  to  the  right border.  If you select 'Without fill' then no extra
  1104. spaces  are  added.   Normally  one  space  is  added after each word, with
  1105. additional  spaces  added  after  punctuation  such as periods, exclamation
  1106. marks, etc.  See 'Post period spaces'.
  1107. @EndNode
  1108. @Node PostPeriodSpaces "Post period spaces..."
  1109.                            Post period spaces...
  1110.     This   command,   added   exclusively  for  my  demanding  European
  1111. customers, controls how many spaces should be placed after punctuation such
  1112. as  periods  and exclamation marks when formatting paragraphs.  The default
  1113. is two.
  1114. @EndNode
  1115. @Node SendDosArexx "Send DOS/ARexx command..."
  1116.                          Send DOS/ARexx command...
  1117.     This  command  allows  you  execute  any  DOS or ARexx command from
  1118. within  CygnusEd.   Simply type the name of the command, and any parameters
  1119. which  it takes and the command will be run.  The output will by default be
  1120. sent to a standard console window which will only open up if the program or
  1121. script  being  run  produces  some  output.  The real power of this program
  1122. shows  up  when you embed it within a macro.  If you say yes when the macro
  1123. creation  process  asks  if  you  would  like the contents of the requester
  1124. stored in the macro then when you play back the macro it will automatically
  1125. execute  the  desired  script  or  command.   This  allows you to attach an
  1126. unlimited number of ARexx commands to arbitrary keys on your keyboard.
  1127. @EndNode
  1128. @Node InstallDosArexx "Install DOS/ARexx command..."
  1129.                        Install DOS/ARexx command...
  1130.     CygnusEd  allows  you  to  make  a limited number of ARexx commands
  1131. (ten)  show  up  in  the  ARexx  menu.   The 'Install DOS/ARexx command...'
  1132. command  lets you select these.  Select the number, from one to ten, of the
  1133. slot  that  you  would  like to use.  Then enter the command that you would
  1134. like  executed.  After installing a new command you should probably use the
  1135. 'Save  DOS/ARexx  commands'  command  to  save your new configuration.  The
  1136. command  is  not  actually  run  at  this  point.   It can be run either by
  1137. pressing the appropriate function key, or by selecting the command from the
  1138. menus.  Don't forget to save your ARexx command definitions afterwards.
  1139. @EndNode
  1140. @Node LoadDosARexx "Load DOS/ARexx commands..."
  1141.                         Load DOS/ARexx commands...
  1142.     This  command loads a set of ten DOS and ARexx command names from a
  1143. file (default name s:RexxCommands) and places them in the user configurable
  1144. ARexx commands menu.
  1145. @EndNode
  1146. @Node SaveDosARexx "Save DOS/ARexx commands..."
  1147.                         Save DOS/ARexx commands...
  1148.     This  command  saves  the  current set of ten DOS and ARexx command
  1149. names  into  a  file (default name S:RexxCommands).  If you use the default
  1150. name  then the command names will be automatically loaded in again when you
  1151. next run CygnusEd.
  1152. @EndNode
  1153. @Node SendDosARexx "Send DOS/ARexx output to..."
  1154.                         Send DOS/ARexx output to...
  1155.     Executing Dos and ARexx commands frequently produces output. If you
  1156. don't  ever  want to see this, use this command to set the output file name
  1157. to  'nil:',  or  if you have a version of AmigaDOS where the method doesn't
  1158. work, use the public domain 'null:' device, which has the same effect.
  1159.     Alternately,  you  can  send  the output to a file on disk, or to a
  1160. console window.  The default output file is:
  1161. "con:0/0/640/90/Ced<->Dos\Rexx/Inactive/Auto/Close/Wait"
  1162.     Roughly  translated  this means a console window, opening up in the
  1163. upper  left  hand corner of the workbench screen (0,0), 640 by 90 pixels in
  1164. size,  with  a  title bar saying 'Ced<->Dos\Rexx'.  The console window will
  1165. open  inactive,  it won't open until the commands actually print something,
  1166. it  will  have  a  close  gadget and it will allow you close it even though
  1167. CygnusEd still has it open.
  1168.     CygnusEd  opens  the  output  file,  whatever  it may be, once only
  1169. (unless  you  change  it).   That means, in the case of the default console
  1170. file,  that if you execute a number of commands, each producing output, all
  1171. of  their  output  will remain for you to view at your leisure, and it will
  1172. all  be  in  one  console  window.   The downside is that it means that the
  1173. window  doesn't  automatically  go away when the commands finish executing.
  1174. However,  since  it  doesn't  come  up active, and since you can make it as
  1175. small  as desired, or use the 'null:' device, that shouldn't really matter.
  1176. Finally,  if  you  want, you can use the standard 'publicscreen' keyword to
  1177. cause  the output console window to open up on any public screen, including
  1178. CygnusEd's.   This can allow you, for instance, to look at the results of a
  1179. testrun  of  your  program  on  the same screen as your source code.  Other
  1180. conole  windows, including regular CLI shells can also be made to appear on
  1181. CygnusEd's  screen,  allowing  you  to  do directory listings and other DOS
  1182. commands from within CygnusEd.
  1183. @EndNode
  1184. @Node EnterASCII "Enter ASCII... - Keyboard shortcut Amiga--"
  1185.                Enter ASCII... - Keyboard shortcut Amiga--
  1186.     The  'Enter ASCII...' command is used to enter a character into the
  1187. current  file  by typing in its ascii value.  For instance, the ASCII value
  1188. of the space character is 32, the ASCII value of the number one is 49.  The
  1189. ASCII  values  range  from  zero  to  255,  and  can be entered in decimal,
  1190. hexadecimal (base 16 - precede the numbers with either a dollar sign '$' or
  1191. '0x'),  or  even base 2 (precede the numbers with a percent sign '%').  The
  1192. Enter  Ascii  requester keeps on returning until you select 'Cancel' or hit
  1193. return  when  it  is  empty.   This allows you to easily enter sequences of
  1194. ASCII values.  Any character can be entered into CygnusEd.
  1195. @EndNode
  1196. @Node CenterCursor "Center cursor - Keyboard shortcut Amiga-="
  1197.                Center cursor - Keyboard shortcut Amiga-=
  1198.     The  'Center  cursor' command attempts to place the cursor, and the
  1199. line  of  text  that  it  is  on,  in the center of the current window.  It
  1200. scrolls  the  current  file up or down in order to do this.  The only thing
  1201. that  will  stop  CygnusEd  from  vertically centering the cursor is if the
  1202. cursor  is  too  close to the either end of the current file, in which case
  1203. the scrolling will stop when the top or bottom of the file meets the top or
  1204. bottom  of  the window.  The cursor is not horizontally centered.  The text
  1205. is not altered.
  1206. @EndNode
  1207. @Node CenterLine "Center line - Keyboard shortcut Amiga-\"
  1208.                 Center line - Keyboard shortcut Amiga-\
  1209.     The  'Center  line'  command takes the current line of text, strips
  1210. all white space (space characters and tabs) from each end, and then centers
  1211. the result in the area between column zero and the user defined right edge.
  1212. The centering is done by padding the beginning of the file with spaces.  If
  1213. the line is too long to fit then it is not changed at all.
  1214. @EndNode
  1215. @Node RepeatKeyMenu "Repeat key/menu... - Keyboard shortcut Amiga-\"
  1216.              Repeat key/menu... - Keyboard shortcut Amiga-\
  1217.     The 'Repeat key/menu' command is a powerful command for mechanizing
  1218. repetitive  work.   When you select this command q requester appears asking
  1219. for  the  desired repeat count.  After you enter it, CygnusEd waits for you
  1220. to  type  any key or select any menu item, at which point it repeats it the
  1221. desired  number  of  times.   If  you  need  to  type in exactly eighty '*'
  1222. characters,  or  if  you  need to move the character down exactly 93 lines,
  1223. this  command  is  perfect.   If  you  need  to  do one of these operations
  1224. frequently  you  can  define  a macro which contains a repeat command - the
  1225. repeated keystrokes will be recorded in the macro just as if you typed them
  1226. yourself.   Additionally, if you have a macro which you would like repeated
  1227. dozens  of times, this command will do that.  And don't forget that you can
  1228. repeat  any  keystroke  and  any  menu  -  there  doesn't even have to be a
  1229. keyboard shortcut for the menu, just select it with the mouse if you want.
  1230. @EndNode
  1231. @Node FindMatching "Find matching bracket - Keyboard shortcut Amiga-h"
  1232.            Find matching bracket - Keyboard shortcut Amiga-h
  1233.     The  'Find  matching  bracket'  command  is  extremely  useful  for
  1234. programmers.   If  you  place  the  cursor  over  any  of the parenthetical
  1235. characters  ('(',  ')', '[', ']', '{' or '}') then CygnusEd will search for
  1236. its  mate.  In doing so CygnusEd will respect any other parenthetical pairs
  1237. inside of the same type.  For instance, if your cursor is on the first line
  1238. of  this text '((Testing)EndTest)' then find matching bracket will move the
  1239. cursor  to  the end of the text.  In this example, '(]TestingEndTest)', the
  1240. cursor  will  also  move from the beginning of the text to the end, because
  1241. ']'  doesn't  pair  up with '('.  Using the 'Find matching bracket' command
  1242. twice in a row will always return you to your starting location.
  1243. @EndNode
  1244. @Node MarkJumpLocation "Mark/Jump Location"
  1245.                             Mark/Jump Location
  1246. Mark location 1, 2, 3 - Keyboard shortcuts - Amiga-!, @, #
  1247. Jump to mark 1, 2, 3 - Keyboard shortcut Amiga-1, 2, 3
  1248.     The 'Mark location' commands record the cursors current position in
  1249. the  file  so  that  you can easily return to a particular place in a file.
  1250. The  shortcuts were chosen so that, for instance, Amiga-shift-2 will mark a
  1251. spot and Amiga-2 will jump to that spot.  If you mark a particular line and
  1252. then add additional lines before that, the mark location will automatically
  1253. be updated so that the same line of text will be jumped to.
  1254. @EndNode
  1255. @Node Mark "Mark - Keyboard shortcut Amiga-b"
  1256.                     Mark - Keyboard shortcut Amiga-b
  1257.     The 'Mark' command is used for starting to mark a block for cutting
  1258. or  copying.   The cursor location when this command is selected is used as
  1259. one  end  of the block and the cursors position is used as the other end of
  1260. the  block.   Therefore, immediately after selecting this command, the area
  1261. selected  contains  no characters.  Moving the cursor forwards or backwards
  1262. adds one character to the selected area.  When you move the cursor forwards
  1263. through  the  file, the character under the cursor when you selected 'Mark'
  1264. is included in the block, if you move backwards through the file it is not.
  1265.     Note  that  unlike  most  text  editors  and  word processors, when
  1266. CygnusEd  highlights  a  block,  it  only highlights out as far as there is
  1267. actually  text.  This makes the block marking very useful for tracking down
  1268. over length lines or problems with extra or missing text.
  1269.     The  contents  of  the clipboard are not affected unless you select
  1270. 'Cut' or 'Copy'.
  1271.     Marking a block can be cancelled by selecting 'Mark' again.
  1272. @EndNode
  1273. @Node MarkColumnar "Mark columnar - Keyboard shortcut Amiga-B"
  1274.                Mark columnar - Keyboard shortcut Amiga-B
  1275.     The 'Mark columnar' command is similar to the 'Mark' command except
  1276. that  the  marked  out area is always a rectangle.  This is very useful for
  1277. removing  columns  from  tables, adjusting indenting, creating script files
  1278. and  much  more.  If you paste in a columnar block then all of the lines of
  1279. the  block are pasted in at the same column number in adjacent lines of the
  1280. file,  padding  the  lines  with  spaces if necessary.  The other important
  1281. difference  when  pasting  a  vertical block is that the cursor position is
  1282. adjusted  differently.  Pasting a normal block leaves the cursor one column
  1283. to  the  right  of  the  last  character  inserted.  Pasting a columnar, or
  1284. vertical  block, leaves the cursor one row below the first character of the
  1285. last  line  inserted.   This  is  very handy if you want to insert the same
  1286. columnar  block multiple times because you can just keep on pasting and the
  1287. blocks  all  stack  downwards.   The  most  common  use for this is to do a
  1288. columnar  cut on a tab character and then hold down Amiga-V to repetitively
  1289. paste  this  tab  character  in,  thus indenting a section of text or code.
  1290. Doing  this with a regular block would require extra cursor movements after
  1291. each paste, or a macro.
  1292.     Marking  a  columnar  block  can  be  cancelled  by selecting 'Mark
  1293. columnar' again.  Selecting 'Mark' after 'Mark columnar' merely changes the
  1294. type  of  block  being  marked from a columnar block to a normal block, and
  1295. vice versa.
  1296.     Columnar  blocks  frequently  enclose  areas  with lines of varying
  1297. lengths.  In this situation it is sometimes necessary, when cutting or when
  1298. pasting,  to  move  the  cursor beyond the end of the current line to allow
  1299. cutting  out  text  on a longer line earlier on.  For this reason, columnar
  1300. blocks are frequently used in 'Layout mode' (see layout mode)
  1301. @EndNode
  1302. @Node Cut "Cut - Keyboard shortcut Amiga-x"
  1303.                     Cut - Keyboard shortcut Amiga-x
  1304.     The  'Cut'  command  cuts  the  currently  marked area to the Amiga
  1305. clipboard.   If CygnusEd is not in mark or mark columnar modef, the warning
  1306. 'No  area selected' appears.  If no characters are selected, either because
  1307. the  cursor  is  on  top  of the block start or because the cursor is right
  1308. below  the  block  start  in  columnar  mode,  a requester warning 'No area
  1309. marked'  or  'No  area selected' appears.  Text cut to the clipboard can be
  1310. pasted  into  the same file, other files, other copies of CygnusEd or other
  1311. Amiga  applications,  including the standard console.  The selected text is
  1312. removed  from  the  file  and  'mark'  mode  is exited and the highlighting
  1313. cleared.   If  in  columnar block mode, all of the lines in the block range
  1314. are  shortened  by  the  number  of  characters removed.  If the block is a
  1315. columnar  block  then an extra IFF chunk is placed in the clipboard to tell
  1316. CygnusEd  this.   This  chunk will be ignored by all other applications, so
  1317. other  programs  will  paste  CygnusEd's  columnar  blocks  as if they were
  1318. regular blocks of text.
  1319. @EndNode
  1320. @Node Copy "Copy - Keyboard shortcut Amiga-c"
  1321.                     Copy - Keyboard shortcut Amiga-c
  1322.     The  'Copy'  command is just like the 'Cut' command except that the
  1323. file is not altered.
  1324. @EndNode
  1325. @Node Paste "Paste - Keyboard shortcut Amiga-v"
  1326.                    Paste - Keyboard shortcut Amiga-v
  1327.     The  'Paste'  command  pastes  the  current  contents  of the Amiga
  1328. clipboard  into  the  current  file  at  the cursor location.  Normally the
  1329. clipboard  will  contain text cut or copied out of CygnusEd but it may also
  1330. contain  blocks of data from other programs.  The contents of the clipboard
  1331. are unaffected by the paste command.
  1332. @EndNode
  1333. @Node SetClipboardUnit "Set clipboard unit..."
  1334.                            Set clipboard unit...
  1335.     The  Amiga clipboard actually consists of 256 different clipboards.
  1336. Most  applications  only  use clipboard zero, but occasionally having extra
  1337. places to store temporary text can be very useful.  You can temporarily set
  1338. the clipboard unit to a different number, cut or copy some text, to back to
  1339. clipboard  unit  zero, do some more editing, including using the clipboard,
  1340. and then switch back to the different clipboard number to retrieve the text
  1341. you  cut out much earlier, unaffected by intermediate clipboard operations.
  1342. The  only  thing  to be careful of is that, since most applications support
  1343. clipboard  unit  zero  only,  you will not be able to cut and paste to most
  1344. other applications with the other clipboards.  The main way that people use
  1345. this  command is to setup three macros that switch to a different clipboard
  1346. unit,  cut,  paste or copy, and then switch back.  This lets you select the
  1347. appropriate  clipboard  without  having  to  adjust your settings manually.
  1348. CygnusEd  allows  you  to  store the clipboard numbers in the macro just by
  1349. saying 'yes' when asked when you are defining the macro.
  1350. @EndNode
  1351. @Node RotMarked "Rot marked"
  1352.                                 Rot marked
  1353.     Occasionally  text  files  on  the internet are 'encrypted' using a
  1354. method  known  as 'rot13'.  The purpose of this 'encryption' is not to stop
  1355. people from reading the text but to stop them from accidentally reading the
  1356. text.   This  allows  people  to post rot13 rude jokes with a non-encrypted
  1357. warning  so that people can read the warning and then decide whether or not
  1358. to read the encrypted text.  The main advantage to the rot13 method is that
  1359. if  you  do  it  twice,  you end up back where you started from - therefore
  1360. encrypting text is done the same way as unencrypting it.
  1361.     The method, for those of you interested, is very simple.  Just move
  1362. all alphabetic characters forwards thirteen positions, wrapping around from
  1363. 'Z'  back to 'A'.  If you do that twice then every character has been moved
  1364. forward twenty six positions, putting it back where it started.
  1365.     The  'Rot  marked' command rotates the currently selected text, and
  1366. deselects it.  Non alphabetic characters are unaffected.
  1367. @EndNode
  1368. @Node StripCRMarked "Strip CR marked"
  1369.                               Strip CR marked
  1370.     MS-DOS  based machines terminate the lines of their text files with
  1371. a carriage return (ascii 13) and a line feed (ascii 10), whereas Amiga text
  1372. files  are  terminated  with just a line feed.  This command quickly strips
  1373. out  all  of  the  annoying  carriage  returns  in  the selected text, then
  1374. deselects the text.
  1375. @EndNode
  1376. @Node ChangeCaseMarked "Change case marked"
  1377.                             Change case marked
  1378.     The  'Change  case  marked'  command  changes  all  of the selected
  1379. alphabetic  characters  to  upper  case if they are lower case and to lower
  1380. case if they are upper case.
  1381. @EndNode
  1382. @Node DeleteWord "Delete word            Ctrl+Del"
  1383.                       Delete word            Ctrl+Del
  1384.     The  'Delete  word'  command  deletes the next word in the file and
  1385. puts it in a special 'delete word buffer'.
  1386. @EndNode
  1387. @Node UndeleteWord "Undelete word      Ctrl+Alt+Del"
  1388.                       Undelete word      Ctrl+Alt+Del
  1389.     The  'Undelete  word' command pastes the last deleted word into the
  1390. file at the current cursor position.
  1391. @EndNode
  1392. @Node BackspaceWord "Bck Spc word        Ctrl+BckSpc"
  1393.                       Bck Spc word        Ctrl+BckSpc
  1394.     The  'Backspace word' command deletes the next word in the file and
  1395. puts  it  in  a special 'Backspace word buffer'.  This is separate from the
  1396. 'delete  word  buffer'.   Backspace  word  deletes words to the left of the
  1397. cursor instead of the right.
  1398. @EndNode
  1399. @Node UnbackspaceWord "UnBck Spc word  Ctrl+Alt+BckSpc"
  1400.                       UnBck Spc word  Ctrl+Alt+BckSpc
  1401.     The 'Unbackspace word' command pastes the last backspaced word into
  1402. the file at the current cursor position.
  1403. @EndNode
  1404. @Node DeleteLine "Delete line - Keyboard shortcut Amiga-k"
  1405.                 Delete line - Keyboard shortcut Amiga-k
  1406.     The  'Delete line' command deletes the entire current line and puts
  1407. it in a special 'deleted line buffer'.
  1408. @EndNode
  1409. @Node DeleteToEOL "Delete to EOL - Keyboard shortcut Amiga-y"
  1410.                Delete to EOL - Keyboard shortcut Amiga-y
  1411.     The  'Delete  to  EOL'  command  deletes  the current line from the
  1412. cursor  position  to  the  end  of  the line, not including the end of line
  1413. character.   It  shares  the  'deleted  line buffer' with the 'Delete line'
  1414. command.
  1415. @EndNode
  1416. @Node UndeleteLine "Undelete line - Keyboard shortcut Amiga-l"
  1417.                Undelete line - Keyboard shortcut Amiga-l
  1418.     The 'Undelete line' command pastes the contents of the deleted line
  1419. buffer (filled either by the 'Delete line' or 'Delete to EOL' commands into
  1420. the file at the current cursor position.
  1421. @EndNode
  1422. @Node RepeatSearchBackwards "Repeat search backwards - Keyboard shortcut Amiga-a"
  1423.           Repeat search backwards - Keyboard shortcut Amiga-a
  1424.     The  'Repeat  search backwards' command is used to search again for
  1425. the  last  sequence  of  characters  searched  for,  going  backwards.  The
  1426. keyboard  shortcut  was  chosen  so  that  its position, to the left of the
  1427. 'repeat  search  forwards' shortcut would suggest searching to the left, or
  1428. backwards.   If  no  search  string  has  been  specified  yet,  the search
  1429. requester is brought up.
  1430. @EndNode
  1431. @Node RepeatSearchForwards "Repeat search forwards - Keyboard shortcut Amiga-s"
  1432.            Repeat search forwards - Keyboard shortcut Amiga-s
  1433.     The  'Repeat  search  forwards' command is used to search again for
  1434. the last sequence of characters searched for, going forwards.  The keyboard
  1435. shortcut  was  chosen  so  that  its  position, to the right of the 'repeat
  1436. search  backwards'  shortcut  would  suggest  searching  to  the  right, or
  1437. backwards.   It  was  decided to use the same shortcut as for 'Search for',
  1438. except  for  the  lack  of the shift key, to suggest the close ties between
  1439. these  commands.  As with the mark/jump to mark commands, the setup command
  1440. uses  the shift key, the reuse command does not, on the assumption that the
  1441. setup  command (marking a location or doing an initial search) will be done
  1442. less frequently than the reuse command (jump to mark or repeat search).  If
  1443. no  search  string  has been specified yet, the search requester is brought
  1444. @EndNode
  1445. @Node SearchFor "Search for... - Keyboard shortcut Amiga-S"
  1446.                Search for... - Keyboard shortcut Amiga-S
  1447.     The  'Search for' command is used to start searching for a sequence
  1448. of  characters.  A requester appears with a string gadget for typing in the
  1449. characters  to  be  searched  for.  Additionally there are five toggles for
  1450. controlling the search.
  1451.     Ignore case - when this is checked (the default) then the search is
  1452. case insensitive - 'a' is considered equal to 'A'.
  1453.     Wildcards  -  when this is checked the '*' character will match any
  1454. single  character.   Obviously  this is a fairly weak wild card capability,
  1455. but it can be very useful.
  1456.     Forwards  -  this controls the direction of the search.  By default
  1457. it is selected, meaning that the search proceeds forwards through the file.
  1458. Unchecking it means that the search goes backwards.
  1459.     Only whole words - this check box is very useful when searching for
  1460. small words, such as 'the', or a variable name such as 'i'.  Normally these
  1461. sequences  of characters would be found inside other words, such as 'then',
  1462. 'there'  and  'whether'  or  'while',  'int'  and 'main'.  When 'only whole
  1463. words'  is  checked, it is only considered a match if the characters before
  1464. and   after   the  character  sequence  are  neither  alphanumeric  nor  an
  1465. underscore.   In  other words, it only counts as a match if the sequence of
  1466. characters  are  found as an entire word, rather than the beginning, end or
  1467. middle of a word.
  1468.     Replace  mode  -  toggling  this allows you to change from 'search'
  1469. mode  to  'search  and  replace' mode without leaving the search requester.
  1470. This  enables/disables  the  'replace'  string gadget so that you can enter
  1471. text to replace the search string with.
  1472.     There are two features of the search requester which are frequently
  1473. not  noticed.   The  first  is  that  there are menus, which give Amiga-key
  1474. access  to  all of the gadgets, and also allow cutting and pasting from the
  1475. Amiga  clipboard  into  the  search  or  replace  gadgets.   This  can make
  1476. searching much easier and less error prone, as you frequently don't need to
  1477. type  in  the text to search for.  There is also an 'erase' menu command to
  1478. clear out the search buffer.
  1479.     The  other  hidden  feature is the search history.  The up and down
  1480. arrow  keys  can  be used to look through the last twenty commands searched
  1481. for.   If  you  hold  down  the shift key while using the arrow keys then a
  1482. search  is  done for the next or previous search entry that starts with the
  1483. characters to the left of the cursor.
  1484.     As  search  can  be  started either with the Amiga-S, or by hitting
  1485. return or enter.
  1486.     CygnusEd's   search  routine  is  written  in  carefully  optimized
  1487. assembly  language  which  allows  CygnusEd to do a full, case sensitive or
  1488. insensitive  search with simple wildcards at the rate of 100,000 characters
  1489. per  second  on  a  7Mhz  68000.  Obviously on faster processors the search
  1490. speed is much faster.
  1491.     Special  problems  are  posed  by  trying  to  search  for  special
  1492. characters, such as tabs and end of line characters.  One way to search for
  1493. these  characters  is  to  copy them into the clipboard and then paste them
  1494. into  the  search requester.  This is a useful technique, and works even if
  1495. you  don't  know  the  key sequence for these characters.  A sometimes more
  1496. convenient  option is to be able to type them directly in.  With the end of
  1497. line  character  this  poses a problem.  Typing 'Enter' starts the search -
  1498. not what we want in this case.  It turns out, however, that the end of line
  1499. character  is also known as ctrl-J, which means that you can type ctrl-J in
  1500. the  search  requeter wherever you want and end of line character.  The TAB
  1501. character  is  usually  less problematic - just hit the TAB key, or you can
  1502. use ctrl-I.  A carriage return character is Ctrl-M.  Unfortunately, in most
  1503. fonts,  these characters show up only as hollow boxes, and it is impossible
  1504. to  tell  which  is  which.   Most  people  ignore this problem without any
  1505. difficulties,  but  if it annoys you you need to make sure that your string
  1506. gadgets use a font which has those characters defined.
  1507.     There  is  one  additional  complication  however.   Starting  with
  1508. AmigaDOS  2.0,  the  ability to type control characters into string gadgets
  1509. was  restricted,  to avoid confusion.  By default it doesn't work.  So, you
  1510. can  either go to preferences/icontrol and disable the 'Text Gadget Filter'
  1511. or  you  can  hold  down the Amiga key when typing these control characters
  1512. (Amiga-Ctrl-J - that's a bit tricky to type).
  1513. @EndNode
  1514. @Node RepeatReplace "Repeat replace - Keyboard shortcut Amiga-r"
  1515.                Repeat replace - Keyboard shortcut Amiga-r
  1516.     The  'Repeat  replace' command repeats the last replace command, in
  1517. the  direction  that  the previous replace went.  Note the similar keyboard
  1518. shortcuts  for  these two commands, evoking there similarities, and showing
  1519. the  same consistent relationship used in the search commands the mark/jump
  1520. to mark commands.
  1521. @EndNode
  1522. @Node Replace "Replace... - Keyboard shortcut Amiga-R"
  1523.                  Replace... - Keyboard shortcut Amiga-R
  1524.     The  'Replace'  command uses the same requester as the 'Search for'
  1525. command.   In  fact,  you  can  change  the requester from 'search' mode to
  1526. 'replace' mode by toggling the 'Replace mode' check box.
  1527.     After  a  replace  command  is  started,  either by typing Amiga-S,
  1528. selecting  the 'Search' button or hitting return, CygnusEd searches for the
  1529. desired  text.  If the text is found the title bar for that file changes to
  1530. the message:
  1531. '(Y)es/(N)o/(L)ast(G)lobal/(T)urbo/(Q)uit?'
  1532.     Cygnused  then  waits for you to type one of the capital letters to
  1533. state your preference.  If you type 'Q', or any unrecognized character then
  1534. the replace is cancelled, and CygnusEd returns to normal.
  1535.     If  you type 'Y' then the text under the cursor is replaced and the
  1536. search/replace continues after the replaced text.
  1537.     If  you type 'L' then the text under the cursor is replaced and the
  1538. search/replace stops.
  1539.     If  you  type  'G' then the text is replaced and CygnusEd continues
  1540. searching  and  replacing  without prompting you.  Once you start this mode
  1541. you  can  stop  it  at  any time by pressing any key.  When CygnusEd does a
  1542. global  replace  it  still updates the screen, scrolling as needed, so that
  1543. you  can  see  exactly  what  is  going  on.   If this is too slow for your
  1544. tastes...
  1545.     If  you  type  'T'  then  CygnusEd does a 'Turbo' replace.  This is
  1546. similar  to  the  'Global'  replace in that no further promting is done and
  1547. that  you  can cancel the replacing by hitting any key.  However the screen
  1548. is  not  updated  (except for a running count of the number of replacements
  1549. done  in  the title bar).  This alone speeds up the replacing considerably,
  1550. but  additional  internal  optimizations  are done to ensure that as little
  1551. data  movement  as  possible is done.  This tends to make the Turbo replace
  1552. run  dozens  to  thousands of times faster than global replace.  This makes
  1553. global operations on multi-megabyte files a matter of just a few seconds.
  1554.     The  other  difference  with  'Turbo' mode is that, for purposes of
  1555. undo,  all  of the separate replacements are treated as one operation.  The
  1556. undo command will undo 100,000 replacements at once, whereas with the other
  1557. replacement options each replacement is undone separately.
  1558. @EndNode
  1559. @Node ClipToSearchBuffer "Clip to search buffer"
  1560.                            Clip to search buffer
  1561.     To  avoid  the  tedious and error prone typing in of search strings
  1562. CygnusEd  allows  you  to cut or copy text out or your files and then paste
  1563. them  into  the  search  buffer.   This  can  either be done with the paste
  1564. command  in  the search/replace requester (see the menus) or with the 'Clip
  1565. to  search buffer' command.  The main reason for having the 'Clip to search
  1566. buffer'  command is because it can more easily be put into macros and ARexx
  1567. scripts.
  1568. @EndNode
  1569. @Node SetASCIIzeroAlias "Set ASCII zero alias for search..."
  1570.                     Set ASCII zero alias for search...
  1571.     CygnusEd  will  allow  you  to load virtually any file in, anything
  1572. from  source  code  to  binaries.   All  of  the characters of the file are
  1573. displayed  and can be deleted, copied, pasted and searched for - except for
  1574. the  character  represented  by  the  ascii value zero.  The character '0',
  1575. ascii  48, is no problem, but ascii zero is a problem, because this special
  1576. value  is  used  to  terminate  strings in the C language.  'Set ASCII zero
  1577. alias  for search' allows you to specify a character, which when typed into
  1578. the  search  requester,  will  be  understood to represent ASCII zero.  You
  1579. should choose some character which you don't frequently need to search for,
  1580. because  when  using  this  option  you  won't  be  able to search for this
  1581. character,  as  it  will always get translated to ascii zero when searching
  1582. starts.
  1583. @EndNode
  1584. @Node ChangeCaseLetter "Change case letter - Keyboard shortcut Amiga-g"
  1585.              Change case letter - Keyboard shortcut Amiga-g
  1586.     The  'Change case letter' command simply changes the case (upper to
  1587. lower,  lower  to  upper)  of  the  character  under the cursor if it is an
  1588. alphabetic  character.   Whether  it  is or not, the cursor is moved to the
  1589. next  character,  allowing  you  to  toggle the case of a large sequence of
  1590. characters just by repeating the command.0
  1591. @EndNode
  1592. @Node ChangeCaseWord "Change case word - Keyboard shortcut Amiga-G"
  1593.               Change case word - Keyboard shortcut Amiga-G
  1594.     The  'Change  case  word' command changes the case of the character
  1595. under the cursor and all subsequent characters until it comes to the end of
  1596. the  current  word.   See next/prev word for the definition of a word.  The
  1597. cursor  is  moved  to  the end of the word, to allow easy repetition of the
  1598. command.
  1599. @EndNode
  1600. @Node UpperCaseWord "Upper case word"
  1601.                               Upper case word
  1602.     The  'Upper  case word' command upper cases the character under the
  1603. cursor  and  all  subsequent  characters  until  it comes to the end of the
  1604. current word.  See next/prev word for the definition of a word.  The cursor
  1605. is moved to the end of the word, to allow easy repetition of the command.
  1606. @EndNode
  1607. @Node LowerCaseWord "Lower case word"
  1608.                               Lower case word
  1609.     The  'Lower  case word' command lower cases the character under the
  1610. cursor  and  all  subsequent  characters  until  it comes to the end of the
  1611. current word.  See next/prev word for the definition of a word.  The cursor
  1612. is moved to the end of the word, to allow easy repetition of the command.
  1613. @EndNode
  1614. @Node Undo "Undo"
  1615.                                    Undo
  1616. Undo - Keyboard shortcut Amiga-u
  1617. Redo - Keyboard shortcut Amiga-U
  1618. Max undo levels...  xxx
  1619. Max undo memory...  xxxxx
  1620.     CygnusEd  sports a very powerful undo capability, a feature that no
  1621. text  editor  (or  other  program  for  that  matter)  should  be  without.
  1622. CygnusEd's undo is multi-level, allowing you to change your mind easily.
  1623.             Undo is useful for:
  1624.     Undoing accidental deletions of important text.
  1625.     Returning to previous versions of code or text if a new version
  1626. doesn't work out.
  1627.     Reminding  you what you were just working on (undo, then redo - the
  1628. cursor will go to the last change).
  1629.     Each  time  you  select  'Undo' you go further into the past.  Each
  1630. time  an  additional  change  that  you made to the file is reversed.  Each
  1631. character typed is a change, each block cut or pasted is a change - copying
  1632. a  block  is  not a change.  Only operations which actually change the file
  1633. buffer count as undoable changes - anything that updates the change counter
  1634. in the status bar.
  1635.     Changes  can  only  be undone in the strict reverse order that they
  1636. were done in, and they can only be undone one at a time (although you could
  1637. make  a  macro,  or  use  the  repeat  command to undo multiple ones in one
  1638. operation).   These  limitations  stem from the fact that trying to undo an
  1639. operation out of place frequently doesn't make sense - it may mean deleting
  1640. text that hasn't been typed in yet, or some other contradictory thing.
  1641.     When  you undo you are moving backwards through time.  You can then
  1642. decide  that  you  want  to  move  forwards through time again by using the
  1643. 'Redo'  command.   This plays back your changes.  However, and this is very
  1644. important,  if  you  undo  several operations and then make a change to the
  1645. file,  like  typing  in  a  single  character, then the redo information is
  1646. necessarily  wiped out.  If you try to undo that new operation, planning to
  1647. then  redo  the previous operations, you will find that redoing will simply
  1648. redo  the  typing  of  that  character.   In other words, although CygnusEd
  1649. supports  time  travel  through  undo  and  redo, CygnusEd does not support
  1650. multiple concurrent paths through time - the contradictions and troublesome
  1651. philosophical conundrums are just too weird to ponder.
  1652.     Note that CygnusEd's undo allows you to undo past saves.  If you do
  1653. this  then the change count in the status bar actually goes negative!  This
  1654. is normal and expected behaviour.  The only time that this causes a problem
  1655. is  if  you  make some changes to a file and then save it, thus zeroing the
  1656. change count.  If you then undo one of these changes, the change count goes
  1657. to  negative  one.   If  you  then  change the file again, the change count
  1658. increments  to  zero,  and  CygnusEd thinks that no changes have been made,
  1659. when actually two changes have been made since the last save.
  1660.     The number of levels of undo that CygnusEd supports is limited only
  1661. by available memory.  Since different people have very different amounts of
  1662. memory  and  very different feelings on the importance of having a thousand
  1663. levels  of undo, CygnusEd allows you to configure how much memory should be
  1664. devoted  to  the undo buffers, per file loaded.  As the names suggest, 'Max
  1665. undo  levels'  specifies  that maximum number of undo events that should be
  1666. stored  per  file.   Up  to  9999  levels  are supported, but 100 is a more
  1667. typical  number.   Usually  just a dozen or so levels of undo are used, but
  1668. occasionally  you may find yourself heavily editing a file, only to realize
  1669. after  an  hour or so that you are completely on the wrong track - at times
  1670. like  that,  being  able to reverse all your changes can be invaluable.  If
  1671. you haven't saved then you could use your previous version on disk, or your
  1672. backup  version  (automatically  created  by  CygnusEd  if  you enable that
  1673. option),  but  if  you've  saved  several times, then undo may be your only
  1674. hope.
  1675.     Since  it  is  the memory consumed by CygnusEd's undo which is your
  1676. real concern, CygnusEd allows you to set the maximum amount of memory which
  1677. CygnusEd will devoted to undo buffers, per file.  The number of undo levels
  1678. supported is the smallest of the maximum number of levels specified and the
  1679. maximum  number  that  will  fit in the maximum amount of memory specified.
  1680. Since the size of undo events varies wildly (storing the typing of a single
  1681. character  in  the  undo buffer is cheap - storing the pasting in of a 100K
  1682. block   is  expensive)  the  number  of  events  in  the  buffer  may  vary
  1683. considerably.  Obviously setting both numbers high gives you many levels at
  1684. the  cost  of much memory, and setting the both low gives you few levels at
  1685. the  cost  of  little  memory.   Setting  the number of levels high but the
  1686. memory low means that the number of undo events stored will be high as long
  1687. as  the  undo  events  are  simple - small blocks or simple typing, and the
  1688. amount  of  memory  used  will  be  very  consistently  around the maximum.
  1689. Setting  the number of levels low but the memory high means that there will
  1690. almost  always  be the number of levels stored that you requested, and that
  1691. the amount of memory will usually be very small, but occasionaly quite big.
  1692. Unless  you are very short on memory, the defaults, or even larger numbers,
  1693. work very well.
  1694. @EndNode
  1695. @Node JumpToLine "Jump to line... - Keyboard shortcut Amiga-j"
  1696.               Jump to line... - Keyboard shortcut Amiga-j
  1697.     As  expected  the  'Jump  to  line' command moves the cursor to the
  1698. requested line number.
  1699. @EndNode
  1700. @Node JumpToAutoMark "Jump to auto-mark - Keyboard shortcut Amiga-4"
  1701.              Jump to auto-mark - Keyboard shortcut Amiga-4
  1702.     The  'Jump  to  auto-mark'  command  is  a somewhat unique CygnusEd
  1703. feature.   It  derived  from  the  observation that people quite frequently
  1704. briefly jump to a very different location in the file they are editing - to
  1705. the beginning or end or to a searched for string - and then want to return.
  1706. Clearly  the  way to do this is to mark their current location before doing
  1707. the  initial jump, but I usually forget, and I suspect that other people do
  1708. to.   So  CygnusEd  attempts  to  recognize  when  you  are  doing this and
  1709. automatically  set  a mark for you.  CygnusEd's algorithm for deciding when
  1710. to  set  the  auto-mark  is  simple - if the user moves, by any means, to a
  1711. location  that  is  too far away to scroll to, then the auto-mark is set at
  1712. the  old location.  Simple enough.  You can then use 'Jump to auto-mark' to
  1713. return  to  your  old location.  It doesn't always work, because you might,
  1714. for  instance,  jump  to  the  beginning  of  the  file and then search for
  1715. something  that  causes  another  jump  -  now  the auto-mark points to the
  1716. beginning  of  the  file.   However  it  works enough that I hate to use an
  1717. editor that doesn't have it.
  1718.     The only other time that the auto-mark gets set is when you use it.
  1719. If  you  do  a  'Jump  to auto-mark' then, even if the destination is close
  1720. enough  to  scroll to (it can happen, for subtle reasons), the auto-mark is
  1721. set, allowing you to toggle back and forth.
  1722.     Note  that  'close  enough  to scroll to' is a user settable thing.
  1723. See 'Max scroll'.
  1724. @EndNode
  1725. @Node JumpToByte "Jump to byte... - Keyboard shortcut Amiga-J"
  1726.               Jump to byte... - Keyboard shortcut Amiga-J
  1727.     The 'Jump to byte' command moves the cursor to a specific character
  1728. or  byte  location  in  the  file.   The  bytes  in  the  file are numbered
  1729. sequentially  starting  at  zero.   Note  that  the  cursor  column  is not
  1730. necessarily  related  to the byte number because some characters can expand
  1731. to  fill  multiple columns (tab characters) and some characters can take up
  1732. no  space  (escape characters, see 'Esc codes visible?').  This command can
  1733. be very useful for stripping the MacBinary header off of a file, as this is
  1734. the first 128 bytes.  Just do a 'mark', then jump to byte 128, then cut.
  1735. @EndNode
  1736. @Node CursorKeyMovement "Cursor key movement"
  1737.                             Cursor key movement
  1738. Shift+Cursor keys
  1739.     CygnusEd  was  carefully  designed  to  make  the  cursor  movement
  1740. commands  natural and easy to remember.  Instead of using Amiga-T to go the
  1741. the top of the file, the arrow keys, with their clearly implied directions,
  1742. are used with various qualifier keys.
  1743.     The  text  in  the  menus  gives  a  brief  description of what the
  1744. different  the  cursor  keys  do, always in the order up-arrow, down-arrow,
  1745. left-arrow, right-arrow.
  1746.     Holding  down  the  shift  key  moves the cursor to the edge of the
  1747. current page, roughly speaking.  Shift plus the up or down arrow keys moves
  1748. the cursor to the bottom or bottom of the current screen - as far as it can
  1749. move without scrolling.  If the cursor is already at the top or bottom then
  1750. it  scrolls  up or down one page.  Shift plus the right or left arrow moves
  1751. the  cursor  to  the  left  or right edge of the current line, even if this
  1752. means moving beyond the edge of the page.
  1753.     Holding  down  the alt key moves cursor twelve character positions,
  1754. columns or rows, in the appropriate direction.  This is one of my favourite
  1755. ways  of  navigating  a file, as it is less harsh and easier to follow than
  1756. moving  by  pages,  but not as slow and over delicate as moving a line at a
  1757. time.
  1758.     With  the  control keys the cursor movements are quite different in
  1759. the horizontal versus the vertical direction.  Holding down the control key
  1760. when typing the up or down arrow keys moves to the beginning and the end of
  1761. the  file  respectively.  Holding down the control key when typing the left
  1762. or  right  arrow  keys  moves  the  cursor  to  the previous and next words
  1763. respectively.
  1764.     CygnusEd's  word  movement algorithm is as follows.  It was defined
  1765. to  make  deleting  words  as  useful as possible, by trying to ensure that
  1766. CygnusEd  doesn't delete too much excess text.  If the cursor is on and end
  1767. of  line  character,  the  cursor is moved one character in the appropriate
  1768. direction  and  the  move  is  over.  If the cursor is over an alphanumeric
  1769. character,   it   skips   over  that  character  and  over  any  subsequent
  1770. alphanumeric characters, and then skips over any tabs or spaces at the end,
  1771. if  moving  forwards.  If the cursor starts on a non-alphanumeric character
  1772. that  isn't  a  tab  or a space then it skips that single character and any
  1773. following spaces or tabs, if moving forwards.  If the cursor started out on
  1774. a  tab  or  a space then it moves over all consecutive tabs and spaces.  If
  1775. it's  moving forwards then it stops then.  If moving backwards it continues
  1776. on   to  deal  appropriately  with  any  alphanumeric  or  non-alphanumeric
  1777. characters that follow.
  1778.     The  one  remaining  way  of navigating around files in CygnusEd is
  1779. with  'turbo  mode'.  This is a variable speed smooth scroll way of swiftly
  1780. getting  to  where  you  want to be, while allowing you to slow down at any
  1781. time  to  make  sure  you  know where you are.  You can smoothly adjust the
  1782. scroll  speed  from being slow enough to glimpse words in the file, to fast
  1783. enough that only the shape of the written areas can be discerned.  To start
  1784. turbo  mode  use  the  alt  key  together  with  the up or down arrow keys.
  1785. Initially  this  moves twelve lines at a time, but as soon as the arrow key
  1786. starts auto-repeating you're in turbo mode.  At this point you can lift off
  1787. the alt key to slow yourself down, or press the shift key to speed up.  You
  1788. can  smoothly  move  between these three speeds (holding down the shift key
  1789. only is the same as holding down the alt key only) as you look for the text
  1790. you want to find.
  1791. @EndNode
  1792. @Node MetaMac "MetaMac"
  1793.                                   MetaMac
  1794.     MetaMac  is  CygnusEd's  macro editor.  CygnusEd macros are usually
  1795. created  from  within CygnusEd, by simply doing the actions you want turned
  1796. into  a  macro  while  having  CygnusEd record them.  However if you make a
  1797. mistake while defining a macro, if you want to adjust what a macro does, or
  1798. if  you  just  want  to  see  what  macros you have defined, MetaMac is the
  1799. program for you.
  1800.     When  you  first  run  MetaMac two windows appear.  The left window
  1801. contains  a  list  of  all  of the macros that you have defined.  The right
  1802. window displays the contents of the currently selected macro, if any.
  1803.     Using  the left window is quite easy and intuitive.  You can change
  1804. which  macro  is selected by using the arrow keys or the mouse.  Macros can
  1805. be  deleted  with  the  delete  key  or  with the delete macro button.  The
  1806. project  menu  work  as  you  would expect.  The trickiest part is the 'Add
  1807. Macros' menu.  The three menu entries here let you find or create the three
  1808. basic  types  of  CygnusEd  macros  -  one key invocation macros, multi-key
  1809. invocation  macros,  and  a  startup  macro.  If you choose 'Find/Add short
  1810. invocation  macro'  then MetaMac asks you what key you would like to assign
  1811. the macro to.  If that key is already in use it selects that macro for you.
  1812. If it isn't in use, it creates an empty macro assigned to that key.  If you
  1813. never  define actions for that macro key then you have effectively disabled
  1814. that key.
  1815.     Using  the  right  window is somewhat more confusing.  First of all
  1816. note  that  the  complete  CygnusEd menus are attached to this window.  Any
  1817. keystrokes or menu selections that you make in this window are added to the
  1818. currently  selected macro, if any.  This is necessary in order to allow you
  1819. to  add  any  keystrokes and macros to a CygnusEd macro.  However it means,
  1820. for  instance,  that  you  can't use the arrow keys to move through a macro
  1821. definition,  and you can't use the delete key to delete one line of a macro
  1822. entry.   Instead  these  keystrokes will get added to the macro definition.
  1823. Moving  around this window must be done with the mouse, by selecting a line
  1824. or  by moving the scroll bar.  Deleting lines must be done with the 'Delete
  1825. entry'  button.   The one other operation you can do in the right window is
  1826. to  double  click  on an entry that contains some requester data, such as a
  1827. numeric  value  or  a  filename.   This  will  allow  you to edit it in the
  1828. appropriate requester.  See 'Insert Special' for more details.
  1829.  @{" New " Link "MetaMacNew"}
  1830.  @{" Open... - Keyboard shortcut Amiga-o " Link "MetaMacOpen"}
  1831.  @{" Save - Keyboard shortcut Amiga-w " Link "MetaMacSave"}
  1832.  @{" Save as... - Keyboard shortcut Amiga-W " Link "MetaMacSaveAs"}
  1833.  @{" Undo - Keyboard shortcut Amiga-u " Link "MetaMacUndo"}
  1834.  @{" About... " Link "MetaMacAbout"}
  1835.  @{" Quit - Keyboard shortcut Amiga-q " Link "Quit"}
  1836.  @{" Find/Add short invocation macro - Keyboard shortcut Amiga-m " Link "MetaMacFindShort"}
  1837.  @{" Find/Add long invocation macro - Keyboard shortcut Amiga-M " Link "MetaMacFindLong"}
  1838.  @{" Find/Add startup macro " Link "MetaMacStartup"}
  1839.  @{" Delete Macro " Link "MetaMacDeleteMacro"}
  1840.  @{" Delete Entry " Link "MetaMacDeleteEntry"}
  1841.  @{" Insert Special " Link "MetaMacInsertSpecial"}
  1842. @EndNode
  1843. @Node MetaMacNew "New"
  1844.                                     New
  1845.     The  'New'  command clears out the currently loaded macro file.  If
  1846. any changes have made you are asked to confirm before MetaMac proceeds.
  1847. @EndNode
  1848. @Node MetaMacOpen "Open... - Keyboard shortcut Amiga-o"
  1849.                                    Open
  1850.     The 'Open' command is used to load another macro file into MetaMac.
  1851. Since  MetaMac can only have one macro file loaded at a time, the currently
  1852. loaded  macro  file  is first cleared.  If the file has been changed at you
  1853. are asked to confirm before MetaMac proceeds.
  1854. @EndNode
  1855. @Node MetaMacSave "Save - Keyboard shortcut Amiga-w"
  1856.                                    Save
  1857.     The  'Save'  command  is  used  to save the macro file that you are
  1858. currently  working  on to the file name associated with it.  If there is no
  1859. file  name  associated  with  it  then  the  standard ASL file requester is
  1860. brought  up  to  allow  you to select a file name.  If you want CygnusEd to
  1861. automatically  load  the  macro file in when it is run then you should save
  1862. the macro file as s:cedmacros or as cedmacros in the current directory that
  1863. you will be running CygnusEd from.
  1864. @EndNode
  1865. @Node MetaMacSaveAs "Save as... - Keyboard shortcut Amiga-W"
  1866.                                 Save as...
  1867.     The  'Save  as'  command  is  used  to  the macro file that you are
  1868. currently  working  on  to a new file.  You can save the macros to any file
  1869. name but CygnusEd will only automatically load the macro file at startup if
  1870. it  is  saved  as s:cedmacros or as cedmacros in the current directory that
  1871. you will be running CygnusEd from.
  1872. @EndNode
  1873. @Node MetaMacUndo "Undo - Keyboard shortcut Amiga-u"
  1874.                                    Undo
  1875.     MetaMac has a very limited undo facility.  If you make some changes
  1876. to a macro then you can undo those changes if you have not selected another
  1877. macro  since.   All  of the changes are undone at once - there is no way to
  1878. selectively  undo  some  changes  to  a  macro  but  not  others.   If  you
  1879. accidentally delete a macro this can not be undone, because you necessarily
  1880. select  another  macro and thus clear the undo buffer.  If you accidentally
  1881. delete  a  valuable  macro, your best course of action would probably be to
  1882. reload the macro file without saving the changes.
  1883. @EndNode
  1884. @Node MetaMacAbout "About..."
  1885.                                  About...
  1886.     The  'About'  command  merely  brings  up a box showing the version
  1887. number and other fascinating information.
  1888. @EndNode
  1889. @Node MetaMacQuit "Quit - Keyboard shortcut Amiga-q"
  1890.                                    Quit
  1891.     The 'Quit' command tells MetaMac to exit.  If you have made changes
  1892. to  the  currently  loaded  macro  file, MetaMac asks you to confirm before
  1893. continuing.
  1894. @EndNode
  1895. @Node MetaMacDeleteMacro "Delete Macro"
  1896.                                Delete Macro
  1897.     The  'Delete  Macro'  button  tells MetaMac to delete the currently
  1898. selected macro.  No warnings are given if the macro has been changed.
  1899. @EndNode
  1900. @Node MetaMacDeleteEntry "Delete Entry"
  1901.                                Delete Entry
  1902.     The 'Delete Entry' command is the only way to delete entries from a
  1903. macro  definition,  other  than deleting the entire macro.  The reason that
  1904. the  usual  options,  such  as  using  the 'Del' key or marking a block and
  1905. cutting,  don't work is because these options are instead recorded into the
  1906. macro.
  1907. @EndNode
  1908. @Node MetaMacInsertSpecial "Insert Special"
  1909.                               Insert Special
  1910.     The  'Insert  Special' command is used to add requester information
  1911. to  CygnusEd  macros.   This  information  is only relevant if it follows a
  1912. command  which  brings  up a requester.  Examples are commands like 'Open',
  1913. 'Send  DOS/ARexx  command',  'Search  for', 'Jump to line' and 'Select disk
  1914. font...'.   These five commands are not the only commands that this applies
  1915. to,  but  they  do show off the five different types of requester data that
  1916. CygnusEd and MetaMac support within macros.  These are:
  1917.     Filename data - 'Open', 'Save as', any requester that just asks for
  1918. a file or directory name.
  1919.     Text  data - 'Send DOS/ARexx command', any requester that just asks
  1920. for a single line of text.
  1921.     Search  and  replace  data  - 'Search for', 'Replace', or any other
  1922. command that makes the search/replace requester appear.
  1923.     Numeric  data  - 'Jump to line', 'Jump to byte', any requester that
  1924. asks for a number.
  1925.     Font data - 'Select disk font...'.
  1926.     When  you  select this command a requester appears asking you which
  1927. type  of  data  you  would like to insert.  MetaMac will let you insert any
  1928. type of requester data, whether it makes sense or not.  If it does not make
  1929. sense in the context of the previous command, CygnusEd will silently ignore
  1930.     When  you  select  the type of data that you would like, a standard
  1931. CygnusEd  requester of the appropriate type appears.  Dismiss the requester
  1932. when you have selected the desired values and the data will be entered into
  1933. the macro and displayed in the right hand window.
  1934.     If  you wish to edit existing requester values, double click on the
  1935. line  containing  the  requester  values and the appropriate requester will
  1936. appear.
  1937. @EndNode
  1938. @Node MetaMacFindShort "Find/Add short invocation macro - Keyboard shortcut Amiga-m"
  1939.        Find/Add short invocation macro - Keyboard shortcut Amiga-m
  1940.     This  command  is  used  to find an existing short invocation macro
  1941. (macro  that  is  invoked  with just one keystroke) or to create a new one.
  1942. When  you  select  this command you are asked to type the keystroke used to
  1943. invoke  this  macro.   If  that  keystroke  is  in  use, then that macro is
  1944. selected.  Otherwise a new macro is created, attached to that keystroke.
  1945.     Note  that  the  keyboard shortcut for this is the same as it is in
  1946. CygnusEd.
  1947. @EndNode
  1948. @Node MetaMacFindLong "Find/Add long invocation macro - Keyboard shortcut Amiga-M"
  1949.        Find/Add long invocation macro - Keyboard shortcut Amiga-M
  1950.     This  command  is  used  to  find an existing long invocation macro
  1951. (macro  that  is  invoked with a sequence of keystrokes) or to create a new
  1952. one.   When  you  select  this  command  you  are  asked  to type the first
  1953. keystroke used to invoke this macro.  After each keystroke you are asked if
  1954. there  anymore.   If that sequence of keystrokes is in use, then that macro
  1955. is  selected.   Otherwise a new macro is created, attached to that sequence
  1956. of keystrokes.
  1957.     Note  that  the  keyboard shortcut for this is the same as it is in
  1958. CygnusEd.
  1959. @EndNode
  1960. @Node MetaMacStartup "Find/Add startup macro"
  1961.                           Find/Add startup macro
  1962.     This command is used to find an existing startup macro or to create
  1963. a  new.   If  there is already a startup macro it is selected, otherwise an
  1964. empty  startup macro is created.  A macro file can have at most one startup
  1965. macro.   Having  any empty startup macro is functionally the same as having
  1966. no startup macro at all.
  1967. @EndNode
  1968. @Node RecoverCedFiles "RecoverCedFiles"
  1969.                               RecoverCedFiles
  1970.     Occasionally  while  working  on  your  Amiga an errant program may
  1971. cause your system to crash.  If you are working on valuable files when this
  1972. happens  then  this can be quite annoying.  With most programs you are just
  1973. out   of   luck.    CygnusEd,   however,   gives   you   a  second  chance.
  1974. RecoverCedFiles  is  a program which will scan memory for any files left in
  1975. memory  by  a  previous  copy  of  CygnusEd.   If  RecoverCedFiles  is  run
  1976. immediately  after  a reboot it will frequently be able to find all of your
  1977. files still intact in memory, and allow you to save them!
  1978.     This  is not a guaranteed thing, so don't go rebooting with unsaved
  1979. files  loaded, counting on RecoverCedFiles to find them.  Two things can go
  1980. wrong.   One is that the magic cookies which RecoverCedFiles uses to locate
  1981. files  in memory may get destroyed, in which case the files can not even be
  1982. located.   This  can happen because your startup-sequence uses that area of
  1983. memory, or because you have a memory board that doesn't continue refreshing
  1984. memory while rebooting.
  1985.     The  other  thing  that  can go wrong is even worse.  Sometimes the
  1986. magic  cookies  survive,  but the file data does not.  There is no way that
  1987. CygnusEd  can distinguish good data from corrupted data.  CygnusEd does not
  1988. maintain  any  data  integrity  checksum for this purpose.  Therefore, when
  1989. recovering  files  with  RecoverCedFiles  is  is  VITAL  that  you save the
  1990. recovered  files  to  a  different  file name, and check to see whether the
  1991. changes  from  the  previous  version are the changes that you typed in, or
  1992. random  memory  errors  or  overwrites.  If you use RecoverCedFiles to save
  1993. over  top  of  the  previous  version  of the file then RecoverCedFiles may
  1994. unwittingly participate in the destruction of your data.
  1995.     To  increase  the  change  of  RecoverCedFiles  succeeding,  it  is
  1996. important  to  run  RecoverCedFiles as early on in the rebooting process as
  1997. possible.  We recommend that you use ctrl-D to abort your startup sequence,
  1998. because the loading of commodities and the allocation of disk buffers could
  1999. easily  overwrite  the  memory  that  CygnusEd  was  using, making recovery
  2000. impossible.
  2001. @EndNode
  2002. @Node ViewsOverview "Views overview"
  2003.                              Views overview
  2004.     CygnusEd  allows you to have multiple cooperating views on a single
  2005. file.   All  of these views are windows into the same data.  Changes in one
  2006. view are reflected in the others.  In fact, if several views are displaying
  2007. the same area of a particular file, you can see changes happening in all of
  2008. the views simultaneously.
  2009.     Although  the  Amiga's  wonderful  multitasking abilities mean that
  2010. there  is  technically  no  need  for  a  program  to handle multiple files
  2011. simultaneously  (after  all,  you  can  always just run another copy of the
  2012. program)  it  turns  out  that is frequently very useful to have many files
  2013. loaded into a simple program at one time.  It simplifies window management,
  2014. cutting  and  pasting,  and  keeping  everything  together  on  one screen.
  2015. CygnusEd  allows you to load multiple files, and it also allows you to have
  2016. multiple views on one file.  So, for instance, you can easily be looking at
  2017. the  opening paragraph of your doctoral thesis in one view while looking at
  2018. a  supporting  paragraph on page 97 in another view.  Because the two views
  2019. are  actually  looking  at  the same document, changes made to one view are
  2020. also made to the other one - you never need to worry about them getting out
  2021. of sync.
  2022.     CygnusEd's  text output routines are so fast, especially when using
  2023. an  eight  by  eight  font such as Topaz80, that you can have ten different
  2024. views  displaying  the same lime of text, type as fast as you can, and have
  2025. all  ten views show the changes, without ever falling behind.  And all this
  2026. works on a 68000 based Amiga 1000!
  2027.     You  can clearly recognize when you have multiple views on a single
  2028. file  by the #1, #2, etc.  text that appears at the left edge of the status
  2029. bar if you are displaying file names in the status bar.
  2030.     These are the commands for setting view specific settings.
  2031.  @{" Status line " Link "StatusLine"}
  2032.  @{" White spaces " Link "WhiteSpaces"}
  2033.  @{" Scroll bar " Link "ScrollBar"}
  2034.  @{" Set scroll borders... " Link "SetScrollBorders"}
  2035.     These  are  the command for doing view operations, such as creating
  2036. and destroying views and moving between views.
  2037.  @{" View operations " Link "ViewOperations"}
  2038.  @{" Previous view - Keyboard shortcut Amiga-, " Link "PreviousView"}
  2039.  @{" Next view - Keyboard shortcut Amiga-. " Link "NextView"}
  2040.  @{" Split view - Keyboard shortcut Amiga-d " Link "SplitView"}
  2041.  @{" Expand view - Keyboard shortcut Amiga-] " Link "ExpandView"}
  2042.  @{" Grow view " Link "GrowView"}
  2043.  @{" Shrink view " Link "ShrinkView"}
  2044. @EndNode
  2045. @Node Ed "Ed"
  2046.                                     Ed
  2047.     Ed  is  a  command line or workbench program that is used to invoke
  2048. CygnusEd.  The advantage of using Ed rather than using CygnusEd directly is
  2049. that  if CygnusEd is already running, Ed will tell it to load the requested
  2050. files.   If CygnusEd is not running, Ed will run it and tell it to load the
  2051. requested  files.   That  way, you never need to worry about whether or not
  2052. CygnusEd is running.
  2053.     The  basic syntax for Ed is that you can specify any number of file
  2054. names,  with  optional  wildcards,  and you can specify a number of command
  2055. line  arguments,  starting  with  a  dash, to modify the treatment of those
  2056. names.  For example:
  2057.     ed #?.c
  2058.     ed  s:user-startup   source:ced/main.c
  2059.     Unless otherwise specified, you can always specify as many files as
  2060. desired,  and  you  always specify file specific options after the file you
  2061. want them to affect.
  2062.     -a Activate previously active file
  2063.     The  '-a'  command is the only option in this section that does not
  2064. apply  to  a  specific file.  The '-a' option tells CygnusEd to load in the
  2065. specified  files,  and  then move the cursor back to where it was before Ed
  2066. was  invoked.   This is particularly useful if you have a script which will
  2067. be  loading  files into CygnusEd at unpredictable times - this ensures that
  2068. the cursor won't be yanked
  2069.     -f Force loading
  2070.     The  '-f'  option  is  a  powerful  but dangerous option.  It tells
  2071. CygnusEd  to load the specified file, overwriting the file if it is already
  2072. loaded  into  CygnusEd.   This  option  is dangerous because the previously
  2073. loaded  file  will  be lost, even if there were unsaved changes made to it,
  2074. without asking the user.  '-f' stands for 'force'.
  2075.     -sticky
  2076.     There  are  some applications where an application needs to let the
  2077. user  edit  a  file, and then needs to do something with the file when they
  2078. have finished editing it.  Usually these programs let the user specify what
  2079. editor  they  would  like  to use, and many people choose CygnusEd for this
  2080. purpose.  However the default behaviour for Ed, the preferred way to invoke
  2081. CygnusEd,  is to return immediately, without waiting for the user to finish
  2082. editing  the file.  Normally this behaviour is what is desired - but not in
  2083. this  case.   This is precisely what the '-sticky' option was made for.  If
  2084. you  go  'Ed  -sticky filename' then CygnusEd will be run if necessary, the
  2085. specified file will be loaded into the new copy of CygnusEd, or an existing
  2086. copy  if  there  is  one,  and  Ed  will not return until the user finishes
  2087. editing  the  specified file.  The user can indicate that they are finished
  2088. editing  the  file  either  by closing all views on the file (with the Quit
  2089. command)  or  by  loading  another  file  on top of the file (with the Open
  2090. command).   Only  one  file  name can be specified on the command line when
  2091. using the '-sticky' command.  '-s' is a synonym for '-sticky'.  Unlike most
  2092. of  the file specific options, the -sticky command can go either before the
  2093. file name or after.  This means that you can define the name of your editor
  2094. to  be  'ed -sticky' and let the other application tack the file name on at
  2095. the end.
  2096.     -i Ignore
  2097.     The  '-i'  command line option tells CygnusEd to load the specified
  2098. file in if it isn't already loaded.  If the file is already loaded it tells
  2099. CygnusEd  to  move  the  cursor  to the view containing that file.  This is
  2100. particularly  useful  for  when compiler's need to ensure that a particular
  2101. file is loaded so that they can place the cursor on a syntax error.  If you
  2102. don't specify this option, or '-o' described below, then CygnusEd will warn
  2103. you  that  the  file  is  already loaded and will ask you to confirm before
  2104. proceeding.  The 'i' stands for 'ignore', as in 'ignore the file on disk if
  2105. it's already loaded'.
  2106.     -o Overwrite
  2107.     The  '-o'  command line option tells CygnusEd to load the specified
  2108. file  in even if is already loaded.  If the file is already loaded it tells
  2109. CygnusEd to overwrite the previously loaded copy.  If any changes have been
  2110. made you are asked to confirm before CygnusEd continues.  If you don't want
  2111. the requester to appear, see the '-i' or '-f' options.
  2112.     -v View only
  2113.     The  '-v'  command  tells  CygnusEd  to load the file to mark it as
  2114. non-editable.   This  setting  can be changed after the file is loaded with
  2115. the 'Editable file?' menu item under the Environment, File settings menu.
  2116.     Different  options can be combined as long as they don't contradict
  2117. each  other.   If  CygnusEd is not yet in memory, the CygnusEd command line
  2118. options can be used also.  For example:
  2119.     ed file1 -va
  2120.     This tells CygnusEd to load in file1, make it non editable and then
  2121. reactivate the previously active view.
  2122.     ed file.c -i ram:err/file.err -fa
  2123.     This  tells CygnusEd to load in file.c, if it isn't already loaded,
  2124. then  load  in ram:err/file.err, overwriting any previously loaded version,
  2125. then  put the cursor back to the previously active view.  This line ensures
  2126. that  the  needed source file is loaded, without losing any changes, and it
  2127. ensures  that  the most recent error file is loaded, overwriting changes if
  2128. necessary.
  2129.     See also:  @{" Command line options " Link "CommandLine"}
  2130. @EndNode
  2131. @Node CommandLine "Command line options"
  2132.                            Command line options
  2133.     When  running  CygnusEd  there are a number of command line options
  2134. that you can specify to alter its behaviour.  All of these can also be used
  2135. if  you  are  using Ed, the CygnusEd invoker, to run CygnusEd.  Some of the
  2136. options  don't  make sense if you are using Ed to pass new file names to an
  2137. already  running  copy  of CygnusEd, and are therefore ignored.  However we
  2138. recommend  that  you  always  use Ed to run CygnusEd and to load files into
  2139. CygnusEd,  because  that way you never need to worry about whether CygnusEd
  2140. is already running or not.
  2141.     If  you use the command line options below with 'Ed' then they will
  2142. only  have  an  effect if CygnusEd has not yet been loaded into memory.  If
  2143. CygnusEd  has  already been loaded into memory they will be ignored.  These
  2144. options can be specified together with file names, except for -r.
  2145.     If  you  use  CygnusEd on a regular basis you will probably want to
  2146. put  it into your user-startup script so that CygnusEd is automatically run
  2147. for  you  each  time you reboot your Amiga.  Normally when you run CygnusEd
  2148. its  screen  immediately  opens  up, but that is probably not what you want
  2149. when  running CygnusEd from the user-startup script.  The '-r' option tells
  2150. CygnusEd  to run but to go immediately into dormant mode - 'R'esident mode.
  2151. This  means  that CygnusEd has loaded in and is ready to start editing on a
  2152. seconds  notice,  but has not yet opened its screen.  You can make CygnusEd
  2153. appear  either  by  typing  the  Alt-Shift-Return hot-start sequence, or by
  2154. using  Ed to wake up CygnusEd, and possibly pass in the names of some files
  2155. to  be  loaded.  If you specify some file names on the same command line as
  2156. the '-r' option then CygnusEd ignores the '-r' option, opens the screen and
  2157. displays the files.
  2158.     -keepio
  2159.     Normally  when  you  run  CygnusEd from a CLI it disconnects itself
  2160. completely  from  the  CLI,  allowing  you  to  close the CLI at any point.
  2161. Normally  this  is what you want.  However it means that if you run any DOS
  2162. commands  from  within CygnusEd, a new CLI window will have to be opened up
  2163. to display the output of the commands.  If you would prefer that the output
  2164. of  DOS  commands run from CygnusEd go to the CLI that CygnusEd was started
  2165. from,  specify  the  '-keepio'  option  when  first  running CygnusEd.  The
  2166. '-keepio'  option  can  be  used with the Ed command, but will only have an
  2167. effect if CygnusEd has not yet been run - once CygnusEd has detached itself
  2168. from  the  CLI  it  can  never  reattach  itself.  If you use the '-keepio'
  2169. command  then  the  CLI  that  CygnusEd was run from can not be close until
  2170. CygnusEd exits completely.
  2171.     -pubscreen=
  2172.     CygnusEd  can  be  made  to open up on a public screen by using the
  2173. environment  menu  and then saving the environment.  However if you want to
  2174. be  able  to specify what public screen CygnusEd should open up on when you
  2175. run  CygnusEd,  you  can  use  the  '-pubscreen=' command.  The name of the
  2176. public  screen  that  you want CygnusEd to use should appear directly after
  2177. the  equals  sign,  with  no  intervening spaces.  Case may be significant,
  2178. depending on what version of AmigaDOS you are running.
  2179.     See also:  @{" Ed - the CygnusEd invoker " Link "Ed"}
  2180. @EndNode
  2181. @Node ARexx "ARexx"
  2182.                                    ARexx
  2183.                             DOS/ARexx interface
  2184.     One  of  the  things that makes the Amiga an extremely powerful and
  2185. versatile  computer  is its support of a common scripting language which is
  2186. designed to handle communication between multiple programs.  CygnusEd has a
  2187. powerful  ARexx  interface  which  allows  it to control other programs, be
  2188. controlled  by  other  programs,  or  it  allows  you  to  control  it more
  2189. precisely,  by  writing your own complex macros in ARexx and executing them
  2190. from  within CygnusEd.  By executing these ARexx scripts from within macros
  2191. that  can  be  attached  to  any  key,  you can completely remap CygnusEd's
  2192. keyboard.   Some  people  have  even gone to the extreme of using ARexx and
  2193. CygnusEd to implement small databases or data entry programs.
  2194.     This  portion  of  the  documentation assumes some familiarity with
  2195. ARexx  programming.   Although  it  is  possible to figure out how to write
  2196. ARexx  programs  for  CygnusEd  just  by reading this documentation, and by
  2197. looking at the sample ARexx scripts, it is much easier if you get a copy of
  2198. one of the excellent ARexx programming manuals.
  2199.     ARexx  is  a  powerful  scripting  language  that  has  been almost
  2200. universally  adopted on the Amiga.  It allows different programs to talk to
  2201. each  other and it allows the end user to add new features to programs that
  2202. the original authors never thought of.
  2203.     CygnusEd  was  one  of  the  first applications to contain an ARexx
  2204. interface.  CygnusEd's ARexx interface is very powerful and lets you attach
  2205. ARexx  scripts and DOS commands to any key on the keyboard.  These scripts,
  2206. or other scripts, can then control CygnusEd, or other programs.
  2207.     CygnusEd's ARexx commands are, by and large, the very same commands
  2208. which you see in the menus.  Exactly the same wording as what you see.  For
  2209. instance, to clear the current file:
  2210.     clear
  2211.     To save the current file under a new name:
  2212.     save as NewName.txt
  2213.     As   you  can  see,  ARexx  programming  for  CygnusEd  needn't  be
  2214. difficult.
  2215.     When  specifying  menu  commands from ARexx, case is not important.
  2216. Keyboard  shortcuts, such as Amiga-a, or Ctrl+Esc, should not be specified.
  2217. Neither should the ellipses, which indicate that requesters will appear.
  2218.     If you wish to send commands to CygnusEd from a script that was run
  2219. from  CygnusEd  then  you  don't need to worry about the name of CygnusEd's
  2220. ARexx  message  port  -  your  commands  will  automatically be sent to it.
  2221. However,  if  you want to invoke your scripts from outside of CygnusEd, you
  2222. need  to  be able to tell ARexx whom you want to talk to.  The default port
  2223. name  for CygnusEd is 'rexx_ced'.  Note that, unlike most ARexx port names,
  2224. CygnusEd's  is all lower case.  This means that you must be very careful to
  2225. enclose  it  in  quotes, or else ARexx will upper case it and communication
  2226. will  fail.   If  multiple  copies of CygnusEd are run, the additional port
  2227. names  will be of the form 'rexx_ced1', 'rexx_ced2', etc.  Invoke the About
  2228. command to see the current port name.
  2229.     Results  are  returned  from ARexx programs in the Result variable.
  2230. However this is only done if you have enabled returning of results with the
  2231. 'Options  results'  ARexx command.  Additionally, if an error occurred in a
  2232. command then the RC variable will be set, and Results will be undefined.
  2233.     If  you  wish  to add a new command to CygnusEd, by making an ARexx
  2234. command  that can be executed from within CygnusEd, one way is by using the
  2235. 'Install  DOS/ARexx  command' command.  To use this command, select it from
  2236. the  Special,  DOS/ARexx  Interface menu, choose a command slot number from
  2237. one  to  ten,  then  enter the name of the ARexx command.  The advantage to
  2238. this  method  is  that  the ARexx command actually gets added to the menus.
  2239. Don't forget to save your ARexx command definitions afterwards.
  2240.     The  other  way  allows you to attach an ARexx script to any key on
  2241. the keyboard.  Begin by defining a macro attached to the desired key.  Then
  2242. use  the 'Send DOS/ARexx command' command to send the desired command.  You
  2243. will  be  asked whether you want the contents of the requester added to the
  2244. macro  -  say yes, and end the macro definition.  Don't forget to save your
  2245. macros afterwards.
  2246.     Many  of  the  commands  in  CygnusEd's  menus bring up requesters.
  2247. Obviously  an  ARexx  script  isn't much use if it can't fill in the values
  2248. required  by those requesters without bothering the user.  CygnusEd's ARexx
  2249. interface allows you to respond to these requesters in a simple, orthogonal
  2250. way.   All  file  requesters  are  responded  to  identically.   All yes/no
  2251. requesters  are  responded  to identically, and so on.  Any time you choose
  2252. not  to  supply data for a requester, the requester will come up.  If there
  2253. is  a  situation  where  a  requester  may or may not come up it is best to
  2254. always supply data for the requester, as it will be ignored if not needed.
  2255.     Some  commands  will  bring  up  two  requesters,  such as the open
  2256. command  when the current file is changed, is non-zero in length and has no
  2257. other  views.   In this case a yes/no requester will come up asking if it's
  2258. okay  to  proceed and lose changes.  If this is answered yes to then a file
  2259. requester  will  appear,  asking for the new file name.  If you detect this
  2260. condition in ARexx you can invoke the Open command like this:
  2261.     Open 1 'ram:newfile.txt'
  2262.     Note  that  if  you  do this when the above conditions do not apply
  2263. then  the  yes/no requester will not be called and the '1' will be used for
  2264. the new file name - generally not what you want.
  2265.                        Yes/no and 'okay' requesters:
  2266.     The response to these requesters can be given by putting either '1'
  2267. or  '0' after the command' '1' means yes, '0' means no.  Either response is
  2268. legal for a single gadget 'okay' requester.
  2269.                   Filename and directory name requesters:
  2270.     Commands,  such  as  Open,  Save as, etc., that require a file name
  2271. should  simply  have  the file name, typically enclosed in quotes after the
  2272. command name.  For instance:
  2273.     save as 'ram:file.txt'
  2274.                             Numeric requesters:
  2275.     Numeric  requesters,  brought up by such commands as 'Enter ascii',
  2276. should  be  supplied  with  a  numeric argument in the legal range for that
  2277. particular command.  For instance:
  2278.     Enter ascii 10
  2279.                             String requesters:
  2280.     String  requesters,  brought  up by such commands as 'Set icon tool
  2281. name'  should  be  supplied  with the desired string, typically enclosed in
  2282. quotes.  For instances:
  2283.     Set icon tool name 'C:ed'
  2284.                              Font requesters:
  2285.     If  you wish to change CygnusEd's font from an ARexx script you can
  2286. use  the  'Select  Disk  font' command.  Simply follow the command with the
  2287. name and size of the desired font.  For instance:
  2288.     select disk font emerald.font 12
  2289.                         Search/replace requesters:
  2290.     Search data needs to be supplied for the 'Search For' command.  The
  2291. 'Search  For' command can be specified with no arguments, in which case the
  2292. search  requester  will  appear.  It can be specified with just a string to
  2293. search  for,  or  it  can  be  specified  with  a  string  and five boolean
  2294. parameters.   The five booleans, which must be specified in order as either
  2295. 1 or 0, control the four check boxes in the search/replace requester.  They
  2296. are,  in  order  -  case  sensitivity, wild cards, forwards/backwards, only
  2297. words.  For instance:
  2298.     search for
  2299.     search for "Hello"
  2300.     search for "Hello" 1 0 1 1
  2301.     The  first  variation  brings  up the search requester.  The second
  2302. variation  searches  for  the string Hello, using the current search flags.
  2303. Note  the  quotes to prevent ARexx from upper casing the string.  The third
  2304. variation   searches   for   Hello   after  setting  the  flags  to:   case
  2305. insensitivity on, wild cards off, forwards on and only words on.
  2306.     The  replace  command  has  a  similar  syntax, with four different
  2307. variations:
  2308.     replace
  2309.     replace "Hello" "Goodbye"
  2310.     replace "Hello" "Goodbye" 1 0 1 1
  2311.     replace "Hello" "Goodbye" 1 0 1 1 1 t
  2312.     The  first  variation  brings up the replace requester.  The second
  2313. variation will search for the first instance of "Hello" and replace it with
  2314. "Goodbye", using the current search flags.  The third variation is the same
  2315. as  the  second  except  that  it  specifies  the search flags.  The fourth
  2316. variation  specifies  't'  for  'turbo'  replace.   This allows you to do a
  2317. global  replace  in  one command.  The other option for where the 't' is is
  2318. 'g' for 'global' replace.  Note:  When specifying the 't' or 'g' option you
  2319. MUST specify a fifth boolean variable and it MUST be 1.
  2320. @EndNode
  2321.